[#absl-LogSink]
= xref:absl.adoc[absl]::LogSink
:relfileprefix: ../
:mrdocs:

`absl&colon;&colon;LogSink` is an interface which can be extended to intercept and process particular messages (with `LOG&period;ToSinkOnly()` or `LOG&period;ToSinkAlso()`) or all messages (if registered with `absl&colon;&colon;AddLogSink`)&period; Implementations must not take any locks that might be held by the `LOG` caller&period;

== Synopsis

Declared in `&lt;absl&sol;log&sol;log&lowbar;sink&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class LogSink;
----

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:absl/LogSink/2destructor.adoc[`&#126;LogSink`] [.small]#[destructor]# [.small]#[virtual]#
| Destroys the log sink&period;
| xref:absl/LogSink/Flush.adoc[`Flush`]  [.small]#[virtual]#
| Sinks that buffer messages should override this method to flush the buffer and return&period; `Flush` must be thread&hyphen;safe&period;
| xref:absl/LogSink/Send.adoc[`Send`]  [.small]#[virtual]#
| `Send` is called synchronously during the log statement&period; `Send` must be thread&hyphen;safe&period;
|===


== Protected Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:absl/LogSink/2constructor-0a.adoc[`LogSink`]         [.small]#[constructor]#
| Constructors
| xref:absl/LogSink/operator_assign.adoc[`operator&equals;`] 
| Implementations may be copyable and&sol;or movable&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:absl/AddLogSink.adoc[`AddLogSink`]
| Adds a `absl&colon;&colon;LogSink` as a consumer of logging data&period;
| xref:absl/RemoveLogSink.adoc[`RemoveLogSink`]
| Removes a `absl&colon;&colon;LogSink` as a consumer of logging data&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
