userver: userver/logging/log.hpp File Reference
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
log.hpp File Reference

Logging helpers. More...

+ Include dependency graph for log.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  logging::DefaultLoggerGuard
 Atomically replaces the default logger. More...
 
class  logging::DefaultLoggerLevelScope
 Allows to override default log level within a scope. Primarily for use in tests. More...
 

Namespaces

namespace  logging
 Logging macro and utilities.
 

Macros

#define LOG_TO(logger, lvl)
 If lvl matches the verbosity then builds a stream and evaluates a message for the specified logger.
 
#define LOG(lvl)
 If lvl matches the verbosity then builds a stream and evaluates a message for the default logger.
 
#define LOG_TRACE()   LOG(USERVER_NAMESPACE::logging::Level::kTrace)
 Evaluates a message and logs it to the default logger if its level is below or equal to logging::Level::kTrace.
 
#define LOG_DEBUG()   LOG(USERVER_NAMESPACE::logging::Level::kDebug)
 Evaluates a message and logs it to the default logger if its level is below or equal to logging::Level::kDebug.
 
#define LOG_INFO()   LOG(USERVER_NAMESPACE::logging::Level::kInfo)
 Evaluates a message and logs it to the default logger if its level is below or equal to logging::Level::kInfo.
 
#define LOG_WARNING()   LOG(USERVER_NAMESPACE::logging::Level::kWarning)
 Evaluates a message and logs it to the default logger if its level is below or equal to logging::Level::kWarning.
 
#define LOG_ERROR()   LOG(USERVER_NAMESPACE::logging::Level::kError)
 Evaluates a message and logs it to the default logger if its level is below or equal to logging::Level::kError.
 
#define LOG_CRITICAL()   LOG(USERVER_NAMESPACE::logging::Level::kCritical)
 Evaluates a message and logs it to the default logger if its level is below or equal to logging::Level::kCritical.
 
#define LOG_TRACE_TO(logger)    LOG_TO(logger, USERVER_NAMESPACE::logging::Level::kTrace)
 Evaluates a message and logs it to the logger if its level is below or equal to logging::Level::kTrace.
 
#define LOG_DEBUG_TO(logger)    LOG_TO(logger, USERVER_NAMESPACE::logging::Level::kDebug)
 Evaluates a message and logs it to the logger if its level is below or equal to logging::Level::kDebug.
 
#define LOG_INFO_TO(logger)    LOG_TO(logger, USERVER_NAMESPACE::logging::Level::kInfo)
 Evaluates a message and logs it to the logger if its level is below or equal to logging::Level::kInfo.
 
#define LOG_WARNING_TO(logger)    LOG_TO(logger, USERVER_NAMESPACE::logging::Level::kWarning)
 Evaluates a message and logs it to the logger if its level is below or equal to logging::Level::kWarning.
 
#define LOG_ERROR_TO(logger)    LOG_TO(logger, USERVER_NAMESPACE::logging::Level::kError)
 Evaluates a message and logs it to the logger if its level is below or equal to logging::Level::kError.
 
#define LOG_CRITICAL_TO(logger)    LOG_TO(logger, USERVER_NAMESPACE::logging::Level::kCritical)
 Evaluates a message and logs it to the logger if its level is below or equal to logging::Level::kCritical.
 
#define LOG_LIMITED_TO(logger, lvl)
 If lvl matches the verbosity then builds a stream and evaluates a message for the logger. Ignores log messages that occur too often.
 
#define LOG_LIMITED(lvl)    LOG_LIMITED_TO(USERVER_NAMESPACE::logging::GetDefaultLogger(), lvl)
 If lvl matches the verbosity then builds a stream and evaluates a message for the default logger. Ignores log messages that occur too often.
 
#define LOG_LIMITED_TRACE()    LOG_LIMITED(USERVER_NAMESPACE::logging::Level::kTrace)
 Evaluates a message and logs it to the default logger if the log message does not occur too often and default logger level is below or equal to logging::Level::kTrace.
 
#define LOG_LIMITED_DEBUG()    LOG_LIMITED(USERVER_NAMESPACE::logging::Level::kDebug)
 Evaluates a message and logs it to the default logger if the log message does not occur too often and default logger level is below or equal to logging::Level::kDebug.
 
#define LOG_LIMITED_INFO()   LOG_LIMITED(USERVER_NAMESPACE::logging::Level::kInfo)
 Evaluates a message and logs it to the default logger if the log message does not occur too often and default logger level is below or equal to logging::Level::kInfo.
 
#define LOG_LIMITED_WARNING()    LOG_LIMITED(USERVER_NAMESPACE::logging::Level::kWarning)
 Evaluates a message and logs it to the default logger if the log message does not occur too often and default logger level is below or equal to logging::Level::kWarning.
 
#define LOG_LIMITED_ERROR()    LOG_LIMITED(USERVER_NAMESPACE::logging::Level::kError)
 Evaluates a message and logs it to the default logger if the log message does not occur too often and default logger level is below or equal to logging::Level::kError.
 
#define LOG_LIMITED_CRITICAL()    LOG_LIMITED(USERVER_NAMESPACE::logging::Level::kCritical)
 Evaluates a message and logs it to the default logger if the log message does not occur too often and default logger level is below or equal to logging::Level::kCritical.
 
#define LOG_LIMITED_TRACE_TO(logger)    LOG_LIMITED_TO(logger, USERVER_NAMESPACE::logging::Level::kTrace)
 Evaluates a message and logs it to the logger if the log message does not occur too often and logger level is below or equal to logging::Level::kTrace.
 
#define LOG_LIMITED_DEBUG_TO(logger)    LOG_LIMITED_TO(logger, USERVER_NAMESPACE::logging::Level::kDebug)
 Evaluates a message and logs it to the logger if the log message does not occur too often and logger level is below or equal to logging::Level::kDebug.
 
#define LOG_LIMITED_INFO_TO(logger)    LOG_LIMITED_TO(logger, USERVER_NAMESPACE::logging::Level::kInfo)
 Evaluates a message and logs it to the logger if the log message does not occur too often and logger level is below or equal to logging::Level::kInfo.
 
#define LOG_LIMITED_WARNING_TO(logger)    LOG_LIMITED_TO(logger, USERVER_NAMESPACE::logging::Level::kWarning)
 Evaluates a message and logs it to the logger if the log message does not occur too often and logger level is below or equal to logging::Level::kWarning.
 
#define LOG_LIMITED_ERROR_TO(logger)    LOG_LIMITED_TO(logger, USERVER_NAMESPACE::logging::Level::kError)
 Evaluates a message and logs it to the logger if the log message does not occur too often and logger level is below or equal to logging::Level::kError.
 
#define LOG_LIMITED_CRITICAL_TO(logger)    LOG_LIMITED_TO(logger, USERVER_NAMESPACE::logging::Level::kCritical)
 Evaluates a message and logs it to the logger if the log message does not occur too often and logger level is below or equal to logging::Level::kCritical.
 

Functions

LoggerRef logging::GetDefaultLogger () noexcept
 Returns the default logger previously set by SetDefaultLogger. If the logger was not set - returns a logger that does no logging.
 
void logging::SetDefaultLoggerLevel (Level)
 Sets new log level for the default logger.
 
Level logging::GetDefaultLoggerLevel () noexcept
 Returns log level for the default logger.
 
bool logging::ShouldLog (Level level) noexcept
 
void logging::SetLoggerLevel (LoggerRef, Level)
 Sets new log level for a logger.
 
bool logging::LoggerShouldLog (LoggerRef logger, Level level) noexcept
 
bool logging::LoggerShouldLog (const LoggerPtr &logger, Level level) noexcept
 
Level logging::GetLoggerLevel (LoggerRef logger) noexcept
 
void logging::LogFlush ()
 Forces flush of default logger message queue.
 
void logging::LogFlush (LoggerRef logger)
 Forces flush of logger message queue.
 

Detailed Description

Logging helpers.

Definition in file log.hpp.

Macro Definition Documentation

◆ LOG

#define LOG (   lvl)

If lvl matches the verbosity then builds a stream and evaluates a message for the default logger.

Definition at line 189 of file log.hpp.

◆ LOG_CRITICAL

#define LOG_CRITICAL ( )    LOG(USERVER_NAMESPACE::logging::Level::kCritical)

Evaluates a message and logs it to the default logger if its level is below or equal to logging::Level::kCritical.

Definition at line 219 of file log.hpp.

◆ LOG_CRITICAL_TO

#define LOG_CRITICAL_TO (   logger)     LOG_TO(logger, USERVER_NAMESPACE::logging::Level::kCritical)

Evaluates a message and logs it to the logger if its level is below or equal to logging::Level::kCritical.

Definition at line 256 of file log.hpp.

◆ LOG_DEBUG

#define LOG_DEBUG ( )    LOG(USERVER_NAMESPACE::logging::Level::kDebug)

Evaluates a message and logs it to the default logger if its level is below or equal to logging::Level::kDebug.

Examples
postgresql/functional_tests/basic_chaos/postgres_service.cpp, and samples/config_service/config_service.cpp.

Definition at line 199 of file log.hpp.

◆ LOG_DEBUG_TO

#define LOG_DEBUG_TO (   logger)     LOG_TO(logger, USERVER_NAMESPACE::logging::Level::kDebug)

Evaluates a message and logs it to the logger if its level is below or equal to logging::Level::kDebug.

Definition at line 232 of file log.hpp.

◆ LOG_ERROR

#define LOG_ERROR ( )    LOG(USERVER_NAMESPACE::logging::Level::kError)

Evaluates a message and logs it to the default logger if its level is below or equal to logging::Level::kError.

Examples
samples/config_service/config_service.cpp.

Definition at line 214 of file log.hpp.

◆ LOG_ERROR_TO

#define LOG_ERROR_TO (   logger)     LOG_TO(logger, USERVER_NAMESPACE::logging::Level::kError)

Evaluates a message and logs it to the logger if its level is below or equal to logging::Level::kError.

Definition at line 250 of file log.hpp.

◆ LOG_INFO

#define LOG_INFO ( )    LOG(USERVER_NAMESPACE::logging::Level::kInfo)

Evaluates a message and logs it to the default logger if its level is below or equal to logging::Level::kInfo.

Examples
samples/tcp_full_duplex_service/tcp_full_duplex_service.cpp, and samples/testsuite-support/src/logcapture.cpp.

Definition at line 204 of file log.hpp.

◆ LOG_INFO_TO

#define LOG_INFO_TO (   logger)     LOG_TO(logger, USERVER_NAMESPACE::logging::Level::kInfo)

Evaluates a message and logs it to the logger if its level is below or equal to logging::Level::kInfo.

Definition at line 238 of file log.hpp.

◆ LOG_LIMITED

#define LOG_LIMITED (   lvl)     LOG_LIMITED_TO(USERVER_NAMESPACE::logging::GetDefaultLogger(), lvl)

If lvl matches the verbosity then builds a stream and evaluates a message for the default logger. Ignores log messages that occur too often.

Definition at line 282 of file log.hpp.

◆ LOG_LIMITED_CRITICAL

#define LOG_LIMITED_CRITICAL ( )     LOG_LIMITED(USERVER_NAMESPACE::logging::Level::kCritical)

Evaluates a message and logs it to the default logger if the log message does not occur too often and default logger level is below or equal to logging::Level::kCritical.

Definition at line 323 of file log.hpp.

◆ LOG_LIMITED_CRITICAL_TO

#define LOG_LIMITED_CRITICAL_TO (   logger)     LOG_LIMITED_TO(logger, USERVER_NAMESPACE::logging::Level::kCritical)

Evaluates a message and logs it to the logger if the log message does not occur too often and logger level is below or equal to logging::Level::kCritical.

Definition at line 367 of file log.hpp.

◆ LOG_LIMITED_DEBUG

#define LOG_LIMITED_DEBUG ( )     LOG_LIMITED(USERVER_NAMESPACE::logging::Level::kDebug)

Evaluates a message and logs it to the default logger if the log message does not occur too often and default logger level is below or equal to logging::Level::kDebug.

Definition at line 296 of file log.hpp.

◆ LOG_LIMITED_DEBUG_TO

#define LOG_LIMITED_DEBUG_TO (   logger)     LOG_LIMITED_TO(logger, USERVER_NAMESPACE::logging::Level::kDebug)

Evaluates a message and logs it to the logger if the log message does not occur too often and logger level is below or equal to logging::Level::kDebug.

Definition at line 339 of file log.hpp.

◆ LOG_LIMITED_ERROR

#define LOG_LIMITED_ERROR ( )     LOG_LIMITED(USERVER_NAMESPACE::logging::Level::kError)

Evaluates a message and logs it to the default logger if the log message does not occur too often and default logger level is below or equal to logging::Level::kError.

Definition at line 316 of file log.hpp.

◆ LOG_LIMITED_ERROR_TO

#define LOG_LIMITED_ERROR_TO (   logger)     LOG_LIMITED_TO(logger, USERVER_NAMESPACE::logging::Level::kError)

Evaluates a message and logs it to the logger if the log message does not occur too often and logger level is below or equal to logging::Level::kError.

Definition at line 360 of file log.hpp.

◆ LOG_LIMITED_INFO

#define LOG_LIMITED_INFO ( )    LOG_LIMITED(USERVER_NAMESPACE::logging::Level::kInfo)

Evaluates a message and logs it to the default logger if the log message does not occur too often and default logger level is below or equal to logging::Level::kInfo.

Definition at line 303 of file log.hpp.

◆ LOG_LIMITED_INFO_TO

#define LOG_LIMITED_INFO_TO (   logger)     LOG_LIMITED_TO(logger, USERVER_NAMESPACE::logging::Level::kInfo)

Evaluates a message and logs it to the logger if the log message does not occur too often and logger level is below or equal to logging::Level::kInfo.

Definition at line 346 of file log.hpp.

◆ LOG_LIMITED_TO

#define LOG_LIMITED_TO (   logger,
  lvl 
)

If lvl matches the verbosity then builds a stream and evaluates a message for the logger. Ignores log messages that occur too often.

Definition at line 268 of file log.hpp.

◆ LOG_LIMITED_TRACE

#define LOG_LIMITED_TRACE ( )     LOG_LIMITED(USERVER_NAMESPACE::logging::Level::kTrace)

Evaluates a message and logs it to the default logger if the log message does not occur too often and default logger level is below or equal to logging::Level::kTrace.

Definition at line 289 of file log.hpp.

◆ LOG_LIMITED_TRACE_TO

#define LOG_LIMITED_TRACE_TO (   logger)     LOG_LIMITED_TO(logger, USERVER_NAMESPACE::logging::Level::kTrace)

Evaluates a message and logs it to the logger if the log message does not occur too often and logger level is below or equal to logging::Level::kTrace.

Definition at line 332 of file log.hpp.

◆ LOG_LIMITED_WARNING

#define LOG_LIMITED_WARNING ( )     LOG_LIMITED(USERVER_NAMESPACE::logging::Level::kWarning)

Evaluates a message and logs it to the default logger if the log message does not occur too often and default logger level is below or equal to logging::Level::kWarning.

Definition at line 309 of file log.hpp.

◆ LOG_LIMITED_WARNING_TO

#define LOG_LIMITED_WARNING_TO (   logger)     LOG_LIMITED_TO(logger, USERVER_NAMESPACE::logging::Level::kWarning)

Evaluates a message and logs it to the logger if the log message does not occur too often and logger level is below or equal to logging::Level::kWarning.

Definition at line 353 of file log.hpp.

◆ LOG_TO

#define LOG_TO (   logger,
  lvl 
)

If lvl matches the verbosity then builds a stream and evaluates a message for the specified logger.

Definition at line 177 of file log.hpp.

◆ LOG_TRACE

#define LOG_TRACE ( )    LOG(USERVER_NAMESPACE::logging::Level::kTrace)

Evaluates a message and logs it to the default logger if its level is below or equal to logging::Level::kTrace.

Definition at line 194 of file log.hpp.

◆ LOG_TRACE_TO

#define LOG_TRACE_TO (   logger)     LOG_TO(logger, USERVER_NAMESPACE::logging::Level::kTrace)

Evaluates a message and logs it to the logger if its level is below or equal to logging::Level::kTrace.

Definition at line 226 of file log.hpp.

◆ LOG_WARNING

#define LOG_WARNING ( )    LOG(USERVER_NAMESPACE::logging::Level::kWarning)

Evaluates a message and logs it to the default logger if its level is below or equal to logging::Level::kWarning.

Definition at line 209 of file log.hpp.

◆ LOG_WARNING_TO

#define LOG_WARNING_TO (   logger)     LOG_TO(logger, USERVER_NAMESPACE::logging::Level::kWarning)

Evaluates a message and logs it to the logger if its level is below or equal to logging::Level::kWarning.

Definition at line 244 of file log.hpp.