Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
Loading...
Searching...
No Matches
kcenon::logger::structured::log_builder Class Reference

Builder for structured log entries. More...

#include <structured_logger.h>

Collaboration diagram for kcenon::logger::structured::log_builder:
Collaboration graph

Public Member Functions

 log_builder (log_level level, structured_logger_interface *logger)
 
log_buildermessage (const std::string &msg)
 
log_builderfield (const std::string &key, const log_value &value)
 
log_builderfield (const std::string &key, const std::string &value)
 
log_builderfield (const std::string &key, int value)
 
log_builderfield (const std::string &key, double value)
 
log_builderfield (const std::string &key, bool value)
 
void log ()
 

Private Attributes

structured_log_entry entry_
 
structured_logger_interfacelogger_
 

Detailed Description

Builder for structured log entries.

See also
structured_log_entry
structured_logger_interface

Definition at line 76 of file structured_logger.h.

Constructor & Destructor Documentation

◆ log_builder()

Member Function Documentation

◆ field() [1/5]

log_builder & kcenon::logger::structured::log_builder::field ( const std::string & key,
bool value )
inline

Definition at line 112 of file structured_logger.h.

112 {
113 entry_.fields[key] = value;
114 return *this;
115 }
std::unordered_map< std::string, log_value > fields

References entry_, and kcenon::logger::structured::structured_log_entry::fields.

◆ field() [2/5]

log_builder & kcenon::logger::structured::log_builder::field ( const std::string & key,
const log_value & value )
inline

◆ field() [3/5]

log_builder & kcenon::logger::structured::log_builder::field ( const std::string & key,
const std::string & value )
inline

Definition at line 97 of file structured_logger.h.

97 {
98 entry_.fields[key] = value;
99 return *this;
100 }

References entry_, and kcenon::logger::structured::structured_log_entry::fields.

◆ field() [4/5]

log_builder & kcenon::logger::structured::log_builder::field ( const std::string & key,
double value )
inline

Definition at line 107 of file structured_logger.h.

107 {
108 entry_.fields[key] = value;
109 return *this;
110 }

References entry_, and kcenon::logger::structured::structured_log_entry::fields.

◆ field() [5/5]

log_builder & kcenon::logger::structured::log_builder::field ( const std::string & key,
int value )
inline

Definition at line 102 of file structured_logger.h.

102 {
103 entry_.fields[key] = value;
104 return *this;
105 }

References entry_, and kcenon::logger::structured::structured_log_entry::fields.

◆ log()

void kcenon::logger::structured::log_builder::log ( )
inline
Examples
/home/runner/work/logger_system/logger_system/include/kcenon/logger/structured/structured_logger.h.

Definition at line 117 of file structured_logger.h.

117 {
118 if (logger_) {
120 }
121 }
virtual void log_structured(const structured_log_entry &entry)=0
Log a structured message.

References entry_, kcenon::logger::structured::structured_logger_interface::log_structured(), and logger_.

Here is the call graph for this function:

◆ message()

log_builder & kcenon::logger::structured::log_builder::message ( const std::string & msg)
inline

Member Data Documentation

◆ entry_

◆ logger_

structured_logger_interface* kcenon::logger::structured::log_builder::logger_
private

The documentation for this class was generated from the following file: