|
Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
|
RAII guard for structured logging context. More...
#include <log_context_scope.h>

Public Member Functions | |
| log_context_scope (const log_fields &fields) | |
| Construct scope with initial fields. | |
| log_context_scope (logger &log, const log_fields &fields) | |
| Construct scope with a logger reference (for logger-level context) | |
| ~log_context_scope () | |
| Destructor - restores previous context. | |
| log_context_scope (const log_context_scope &)=delete | |
| log_context_scope & | operator= (const log_context_scope &)=delete |
| log_context_scope (log_context_scope &&)=delete | |
| log_context_scope & | operator= (log_context_scope &&)=delete |
Private Member Functions | |
| void | remove_logger_context (const std::string &key) |
Private Attributes | |
| log_fields | previous_context_ |
| bool | had_previous_ |
| std::vector< std::string > | added_keys_ |
| logger * | logger_ = nullptr |
RAII guard for structured logging context.
Automatically sets context fields on construction and restores the previous context on destruction. Supports nested scopes where inner scopes can add or override fields from outer scopes.
Definition at line 251 of file log_context_scope.h.
|
inlineexplicit |
Construct scope with initial fields.
| fields | Context fields to set for this scope |
Saves the current thread-local context and sets the new fields. Fields are merged with existing context (new fields override existing ones with the same key).
Definition at line 261 of file log_context_scope.h.
| kcenon::logger::log_context_scope::log_context_scope | ( | logger & | log, |
| const log_fields & | fields ) |
Construct scope with a logger reference (for logger-level context)
| log | Logger to use for context |
| fields | Context fields to set for this scope |
Sets context on both the logger (for non-thread-local use) and thread-local storage.
Definition at line 10 of file log_context_scope.cpp.
References added_keys_, kcenon::logger::logger::context(), previous_context_, kcenon::logger::log_context_storage::set(), and kcenon::logger::unified_log_context::set().

|
inline |
Destructor - restores previous context.
Removes fields that were added by this scope and restores fields that were overridden.
Definition at line 289 of file log_context_scope.h.
|
delete |
|
delete |
|
delete |
|
delete |
|
private |
Definition at line 28 of file log_context_scope.cpp.
References kcenon::logger::logger::context(), logger_, and kcenon::logger::unified_log_context::remove().

|
private |
Definition at line 324 of file log_context_scope.h.
Referenced by log_context_scope().
|
private |
Definition at line 323 of file log_context_scope.h.
|
private |
Definition at line 325 of file log_context_scope.h.
Referenced by remove_logger_context().
|
private |
Definition at line 322 of file log_context_scope.h.
Referenced by log_context_scope().