Stay organized with collections Save and categorize content based on your preferences.
A sink to receive log records.
Constructors LogSink() Functions empty() constReturn true if this object has no backends.
We want to avoid synchronization overhead when checking if a log message is enabled. Most of the time, most messages will be disabled, so incurring the locking overhead on each message would be too expensive and would discourage developers from creating logs. Furthermore, missing a few messages while the change of state "propagates" to other threads does not affect the correctness of the program.
Note that memory_order_relaxed
does not provide a compiler barrier either, so in theory stores into the atomic could be reordered by the optimizer. We have no reason to worry about that because all the writes are done inside a critical section protected by a mutex. The compiler cannot (or should not) reorder operations around those.
bool
is_enabled(Severity) const
Return true if severity
is enabled.
We want to avoid synchronization overhead when checking if a log message is enabled. Most of the time, most messages will be disabled, so incurring the locking overhead on each message would be too expensive and would discourage developers from creating logs. Furthermore, missing a few messages while the change of state "propagates" to other threads does not affect the correctness of the program.
Note that memory_order_relaxed
does not provide a compiler barrier either, so in theory stores into the atomic could be reordered by the optimizer. We have no reason to worry about that because all the writes are done inside a critical section protected by a mutex. The compiler cannot (or should not) reorder operations around those.
severity
Severity
bool
set_minimum_severity(Severity) Parameter Name Description minimum
Severity
void
minimum_severity() const Returns Type Description Severity
AddBackend(std::shared_ptr< LogBackend >) Parameter Name Description backend
std::shared_ptr< LogBackend >
BackendId
RemoveBackend(BackendId) Parameter Name Description id
BackendId
void
ClearBackends() Returns Type Description void
BackendCount() const Returns Type Description std::size_t
Log(LogRecord) Parameter Name Description log_record
LogRecord
void
Flush()
Flush all the current backends.
Returns Type Descriptionvoid
static CompileTimeEnabled(Severity)
Return true if the severity is enabled at compile time.
Parameter Name Descriptionlevel
Severity
bool constexpr
static Instance()
Return the singleton instance for this application.
Returns Type DescriptionLogSink &
static EnableStdClog(Severity)
Enable std::clog
on LogSink::Instance()
.
This is also enabled if the "GOOGLE_CLOUD_CPP_ENABLE_CLOG" environment variable is set.
Parameter Name Descriptionmin_severity
Severity
void
static DisableStdClog()
Disable std::clog
on LogSink::Instance()
.
Note that this will remove the default logging backend.
Returns Type Descriptionvoid
Type Aliases BackendId
Alias Of: long
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-14 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["The latest version of the `LogSink` class documentation is 2.37.0-rc, with a variety of previous versions available, ranging down to 2.10.1."],["`LogSink` is a class designed to receive log records, with functionality to check if the object has no backends and if a given severity level is enabled, avoiding unnecessary synchronization overhead."],["The class provides methods for managing backends, such as adding, removing, clearing, and counting them, and also includes the ability to flush all the backends."],["`LogSink` contains static methods for checking compile-time severity enablement, obtaining the singleton instance, and managing `std::clog` logging, including enabling and disabling it."],["The minimum severity of logs can be set, allowing for filtering of log messages based on their importance, and there are functions to return the minimum_severity."]]],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4