Logging macro and utilities.
Namespaces | |
| namespace | stacktrace_cache | 
| Contains functions that cache stacktrace results.  | |
Classes | |
| class | DefaultLoggerGuard | 
| Atomically replaces the default logger.  More... | |
| class | DefaultLoggerLevelScope | 
| Allows to override default log level within a scope. Primarily for use in tests.  More... | |
| struct | Hex | 
| Formats value in a hex mode with the fixed length representation.  More... | |
| struct | HexShort | 
| class | LogExtra | 
| Extra tskv fields storage.  More... | |
| class | LogHelper | 
| struct | Quoted | 
| Formats a string as quoted, escaping the '\' and '"' symbols.  More... | |
Typedefs | |
| using | LoggerRef = impl::LoggerBase& | 
| using | LoggerPtr = std::shared_ptr<impl::LoggerBase> | 
Enumerations | |
| enum class | Format {  kTskv , kLtsv , kRaw }  | 
| Log formats.  More... | |
| enum class | Level : std::uint8_t {  kTrace = 0 , kDebug = 1 , kInfo = 2 , kWarning = 3 , kError = 4 , kCritical = 5 , kNone = 6 }  | 
| Log levels.  More... | |
Functions | |
| Format | FormatFromString (std::string_view format_str) | 
| Parse Format enum from string.  | |
| Level | LevelFromString (std::string_view) | 
| Converts lowercase level name to a corresponding Level, throws std::runtime_error if no matching log level found.  | |
| std::string_view | ToString (Level level) | 
| Returns a string representation of logging level, e.g. "info".  | |
| std::string_view | ToUpperCaseString (Level level) noexcept | 
| Returns a string representation of logging level, e.g. "INFO".  | |
| std::optional< Level > | OptionalLevelFromString (const std::optional< std::string > &level_name) | 
| Returns std::nullopt if level_name is std::nullopt, otherwise behaves exactly like logging::LevelFromString.  | |
| LoggerRef | GetDefaultLogger () noexcept | 
| Returns the default logger previously set by SetDefaultLogger. If the logger was not set - returns a logger that does no logging.   | |
| void | SetDefaultLoggerLevel (Level) | 
| Sets new log level for the default logger.   | |
| Level | GetDefaultLoggerLevel () noexcept | 
| Returns log level for the default logger.  | |
| bool | ShouldLog (Level level) noexcept | 
| void | SetLoggerLevel (LoggerRef, Level) | 
| Sets new log level for a logger.  | |
| bool | LoggerShouldLog (LoggerRef logger, Level level) noexcept | 
| bool | LoggerShouldLog (const LoggerPtr &logger, Level level) noexcept | 
| Level | GetLoggerLevel (LoggerRef logger) noexcept | 
| void | LogFlush () | 
| Forces flush of default logger message queue.  | |
| void | LogFlush (LoggerRef logger) | 
Forces flush of logger message queue.  | |
| LogHelper & | operator<< (LogHelper &lh, std::error_code ec) | 
| template<typename T > | |
| LogHelper & | operator<< (LogHelper &lh, const std::atomic< T > &value) | 
| template<typename T > | |
| LogHelper & | operator<< (LogHelper &lh, const T *value) noexcept | 
| template<typename T > | |
| LogHelper & | operator<< (LogHelper &lh, T *value) | 
| template<typename T > | |
| LogHelper & | operator<< (LogHelper &lh, const std::optional< T > &value) | 
| template<class Result , class... Args> | |
| LogHelper & | operator<< (LogHelper &lh, Result(*)(Args...)) | 
| LogHelper & | operator<< (LogHelper &lh, std::chrono::system_clock::time_point tp) | 
| LogHelper & | operator<< (LogHelper &lh, std::chrono::seconds value) | 
| LogHelper & | operator<< (LogHelper &lh, std::chrono::milliseconds value) | 
| LogHelper & | operator<< (LogHelper &lh, std::chrono::microseconds value) | 
| LogHelper & | operator<< (LogHelper &lh, std::chrono::nanoseconds value) | 
| LogHelper & | operator<< (LogHelper &lh, std::chrono::minutes value) | 
| LogHelper & | operator<< (LogHelper &lh, std::chrono::hours value) | 
| template<typename... Types> | |
| LogHelper & | operator<< (LogHelper &lh, const std::tuple< Types... > &value) | 
| LoggerRef | GetNullLogger () noexcept | 
| Returns a logger that drops all incoming messages.   | |
| LoggerPtr | MakeNullLogger () | 
| Creates a logger that drops all incoming messages.   | |
| Level | Parse (const yaml_config::YamlConfig &value, formats::parse::To< Level >) | 
| Level | Parse (const formats::json::Value &value, formats::parse::To< Level >) | 
| LoggerPtr | MakeStderrLogger (const std::string &name, Format format, Level level=Level::kInfo) | 
| Creates synchronous stderr logger with default tskv pattern.   | |
| LoggerPtr | MakeStdoutLogger (const std::string &name, Format format, Level level=Level::kInfo) | 
| Creates synchronous stdout logger with default tskv pattern.   | |
| LoggerPtr | MakeFileLogger (const std::string &name, const std::string &path, Format format, Level level=Level::kInfo) | 
| Creates synchronous file logger with default tskv pattern.   | |
Variables | |
| constexpr auto | kLevelMax = static_cast<int>(Level::kNone) | 
| const LogExtra | kEmptyLogExtra | 
      
  | 
  strong | 
Log formats.
Definition at line 13 of file format.hpp.
      
  | 
  strong | 
      
  | 
  noexcept | 
Returns the default logger previously set by SetDefaultLogger. If the logger was not set - returns a logger that does no logging.
      
  | 
  noexcept | 
Returns a logger that drops all incoming messages.
| LoggerPtr logging::MakeFileLogger | ( | const std::string & | name, | 
| const std::string & | path, | ||
| Format | format, | ||
| Level | level = Level::kInfo ) | 
Creates synchronous file logger with default tskv pattern.
| name | logger name, for internal use, must be unique | 
| path | target log file path | 
| LoggerPtr logging::MakeNullLogger | ( | ) | 
Creates a logger that drops all incoming messages.
Use GetNullLogger() is you need a reference to logger.
| LoggerPtr logging::MakeStderrLogger | ( | const std::string & | name, | 
| Format | format, | ||
| Level | level = Level::kInfo ) | 
Creates synchronous stderr logger with default tskv pattern.
| name | logger name, for internal use, must be unique | 
| LoggerPtr logging::MakeStdoutLogger | ( | const std::string & | name, | 
| Format | format, | ||
| Level | level = Level::kInfo ) | 
Creates synchronous stdout logger with default tskv pattern.
| name | logger name, for internal use, must be unique | 
| LogHelper & logging::operator<< | ( | LogHelper & | lh, | 
| const std::atomic< T > & | value ) | 
Definition at line 214 of file log_helper.hpp.
| LogHelper & logging::operator<< | ( | LogHelper & | lh, | 
| const std::optional< T > & | value ) | 
Definition at line 236 of file log_helper.hpp.
| LogHelper & logging::operator<< | ( | LogHelper & | lh, | 
| const std::tuple< Types... > & | value ) | 
Definition at line 15 of file log_helper_extras.hpp.
Definition at line 219 of file log_helper.hpp.
| LogHelper & logging::operator<< | ( | LogHelper & | lh, | 
| Result(*)(Args...) | ) | 
Definition at line 245 of file log_helper.hpp.
Definition at line 207 of file log_helper.hpp.
Definition at line 231 of file log_helper.hpp.
| void logging::SetDefaultLoggerLevel | ( | Level | ) | 
Sets new log level for the default logger.
      
  | 
  noexcept | 
Returns true if the provided log level is greater or equal to the current log level and to the tracing::Span (if any) local log level.