Common System 0.2.0
Common interfaces and patterns for system integration
Loading...
Searching...
No Matches
kcenon::common::logging Namespace Reference

Classes

class  ConsoleLogger
 Simple console logger implementation. More...
 

Functions

VoidResult log (interfaces::log_level level, std::string_view message, const source_location &loc=source_location::current())
 Log a message with the specified level and source location.
 
VoidResult log (interfaces::log_level level, std::string_view message, const std::shared_ptr< interfaces::ILogger > &logger, const source_location &loc=source_location::current())
 Log a message to a specific logger with source location.
 
VoidResult log (interfaces::log_level level, std::string_view message, const std::string &logger_name, const source_location &loc=source_location::current())
 Log a message to a named logger with source location.
 
VoidResult log_trace (std::string_view message, const source_location &loc=source_location::current())
 Log a trace-level message.
 
VoidResult log_debug (std::string_view message, const source_location &loc=source_location::current())
 Log a debug-level message.
 
VoidResult log_info (std::string_view message, const source_location &loc=source_location::current())
 Log an info-level message.
 
VoidResult log_warning (std::string_view message, const source_location &loc=source_location::current())
 Log a warning-level message.
 
VoidResult log_error (std::string_view message, const source_location &loc=source_location::current())
 Log an error-level message.
 
VoidResult log_critical (std::string_view message, const source_location &loc=source_location::current())
 Log a critical-level message.
 
VoidResult log_trace_to (const std::string &logger_name, std::string_view message, const source_location &loc=source_location::current())
 Log a trace-level message to a named logger.
 
VoidResult log_debug_to (const std::string &logger_name, std::string_view message, const source_location &loc=source_location::current())
 Log a debug-level message to a named logger.
 
VoidResult log_info_to (const std::string &logger_name, std::string_view message, const source_location &loc=source_location::current())
 Log an info-level message to a named logger.
 
VoidResult log_warning_to (const std::string &logger_name, std::string_view message, const source_location &loc=source_location::current())
 Log a warning-level message to a named logger.
 
VoidResult log_error_to (const std::string &logger_name, std::string_view message, const source_location &loc=source_location::current())
 Log an error-level message to a named logger.
 
VoidResult log_critical_to (const std::string &logger_name, std::string_view message, const source_location &loc=source_location::current())
 Log a critical-level message to a named logger.
 
bool is_enabled (interfaces::log_level level)
 Check if a log level is enabled for the default logger.
 
bool is_enabled (interfaces::log_level level, const std::string &logger_name)
 Check if a log level is enabled for a named logger.
 
VoidResult flush ()
 Flush all buffered log messages for the default logger.
 
VoidResult flush (const std::string &logger_name)
 Flush all buffered log messages for a named logger.
 
void kcenon::common::logging::log_trace (std::shared_ptr< interfaces::ILogger > logger, std::string_view message)
 Log a trace message.
 
void kcenon::common::logging::log_debug (std::shared_ptr< interfaces::ILogger > logger, std::string_view message)
 Log a debug message.
 
void kcenon::common::logging::log_info (std::shared_ptr< interfaces::ILogger > logger, std::string_view message)
 Log an info message.
 
void kcenon::common::logging::log_warning (std::shared_ptr< interfaces::ILogger > logger, std::string_view message)
 Log a warning message.
 
void kcenon::common::logging::log_error (std::shared_ptr< interfaces::ILogger > logger, std::string_view message)
 Log an error message.
 
void kcenon::common::logging::log_critical (std::shared_ptr< interfaces::ILogger > logger, std::string_view message)
 Log a critical message.
 
std::shared_ptr< interfaces::ILoggerkcenon::common::logging::make_console_logger (interfaces::log_level level=interfaces::log_level::info)
 Create a console logger.
 

Function Documentation

◆ flush() [1/2]

VoidResult kcenon::common::logging::flush ( )
inline

Flush all buffered log messages for the default logger.

Returns
VoidResult indicating success or error

Definition at line 341 of file log_functions.h.

341 {
342 return interfaces::get_logger()->flush();
343}

References kcenon::common::interfaces::get_logger().

Here is the call graph for this function:

◆ flush() [2/2]

VoidResult kcenon::common::logging::flush ( const std::string & logger_name)
inline

Flush all buffered log messages for a named logger.

Parameters
logger_nameName of the logger
Returns
VoidResult indicating success or error

Definition at line 351 of file log_functions.h.

351 {
352 return interfaces::get_logger(logger_name)->flush();
353}

References kcenon::common::interfaces::get_logger().

Here is the call graph for this function:

◆ is_enabled() [1/2]

bool kcenon::common::logging::is_enabled ( interfaces::log_level level)
inline

Check if a log level is enabled for the default logger.

Use this to avoid expensive message formatting when the log level is disabled.

Parameters
levelLog level to check
Returns
true if the level is enabled

Definition at line 321 of file log_functions.h.

321 {
322 return interfaces::get_logger()->is_enabled(level);
323}

References kcenon::common::interfaces::get_logger().

Here is the call graph for this function:

◆ is_enabled() [2/2]

bool kcenon::common::logging::is_enabled ( interfaces::log_level level,
const std::string & logger_name )
inline

Check if a log level is enabled for a named logger.

Parameters
levelLog level to check
logger_nameName of the logger
Returns
true if the level is enabled

Definition at line 332 of file log_functions.h.

332 {
333 return interfaces::get_logger(logger_name)->is_enabled(level);
334}

References kcenon::common::interfaces::get_logger().

Here is the call graph for this function:

◆ log() [1/3]

VoidResult kcenon::common::logging::log ( interfaces::log_level level,
std::string_view message,
const source_location & loc = source_location::current() )
inline

Log a message with the specified level and source location.

Primary logging function that logs to the default logger with automatic source location capture.

Parameters
levelLog level for the message
messageMessage to log
locSource location (automatically captured at call site)
Returns
VoidResult indicating success or error
Note
Issue #177: Now uses ILogger's source_location-based overload directly for improved efficiency (avoids string copies for file/function names).

Definition at line 66 of file log_functions.h.

68 {
69 auto logger = interfaces::get_logger();
70 if (!logger->is_enabled(level)) {
71 return VoidResult::ok({});
72 }
73 // Use the new source_location-based interface (Issue #177)
74 return logger->log(level, message, loc);
75}

References kcenon::common::interfaces::get_logger(), and kcenon::common::Result< T >::ok().

Referenced by log_critical(), log_critical_to(), log_debug(), log_debug_to(), log_error(), log_error_to(), log_info(), log_info_to(), log_trace(), log_trace_to(), log_warning(), and log_warning_to().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ log() [2/3]

VoidResult kcenon::common::logging::log ( interfaces::log_level level,
std::string_view message,
const std::shared_ptr< interfaces::ILogger > & logger,
const source_location & loc = source_location::current() )
inline

Log a message to a specific logger with source location.

Allows logging to a named or custom logger while still capturing source location information.

Parameters
levelLog level for the message
messageMessage to log
loggerLogger instance to use
locSource location (automatically captured at call site)
Returns
VoidResult indicating success or error
Note
Issue #177: Now uses ILogger's source_location-based overload directly.

Definition at line 91 of file log_functions.h.

94 {
95 if (!logger || !logger->is_enabled(level)) {
96 return VoidResult::ok({});
97 }
98 // Use the new source_location-based interface (Issue #177)
99 return logger->log(level, message, loc);
100}

References kcenon::common::Result< T >::ok().

Here is the call graph for this function:

◆ log() [3/3]

VoidResult kcenon::common::logging::log ( interfaces::log_level level,
std::string_view message,
const std::string & logger_name,
const source_location & loc = source_location::current() )
inline

Log a message to a named logger with source location.

Retrieves a logger by name from GlobalLoggerRegistry and logs to it.

Parameters
levelLog level for the message
messageMessage to log
logger_nameName of the logger in the registry
locSource location (automatically captured at call site)
Returns
VoidResult indicating success or error
Note
Issue #177: Now uses ILogger's source_location-based overload directly.

Definition at line 115 of file log_functions.h.

118 {
119 auto logger = interfaces::get_logger(logger_name);
120 if (!logger->is_enabled(level)) {
121 return VoidResult::ok({});
122 }
123 // Use the new source_location-based interface (Issue #177)
124 return logger->log(level, message, loc);
125}

References kcenon::common::interfaces::get_logger(), and kcenon::common::Result< T >::ok().

Here is the call graph for this function:

◆ log_critical() [1/2]

void kcenon::common::logging::log_critical ( std::shared_ptr< interfaces::ILogger > logger,
std::string_view message )
inlineexport

Log a critical message.

Definition at line 89 of file logging.cppm.

89 {
90 if (logger && logger->is_enabled(interfaces::log_level::critical)) {
91 logger->log(interfaces::log_level::critical, message);
92 }
93}

References kcenon::common::interfaces::critical.

◆ log_critical() [2/2]

VoidResult kcenon::common::logging::log_critical ( std::string_view message,
const source_location & loc = source_location::current() )
inline

Log a critical-level message.

Critical messages indicate severe failures that may cause the application to terminate or enter an unstable state.

Parameters
messageMessage to log
locSource location (automatically captured)
Returns
VoidResult indicating success or error

Definition at line 214 of file log_functions.h.

215 {
216 return log(interfaces::log_level::critical, message, loc);
217}
VoidResult log(interfaces::log_level level, std::string_view message, const source_location &loc=source_location::current())
Log a message with the specified level and source location.

References kcenon::common::interfaces::critical, and log().

Here is the call graph for this function:

◆ log_critical_to()

VoidResult kcenon::common::logging::log_critical_to ( const std::string & logger_name,
std::string_view message,
const source_location & loc = source_location::current() )
inline

Log a critical-level message to a named logger.

Parameters
logger_nameName of the logger
messageMessage to log
locSource location (automatically captured)
Returns
VoidResult indicating success or error

Definition at line 302 of file log_functions.h.

304 {
305 return log(interfaces::log_level::critical, message, logger_name, loc);
306}

References kcenon::common::interfaces::critical, and log().

Here is the call graph for this function:

◆ log_debug() [1/2]

void kcenon::common::logging::log_debug ( std::shared_ptr< interfaces::ILogger > logger,
std::string_view message )
inlineexport

Log a debug message.

Definition at line 53 of file logging.cppm.

53 {
54 if (logger && logger->is_enabled(interfaces::log_level::debug)) {
55 logger->log(interfaces::log_level::debug, message);
56 }
57}

References kcenon::common::interfaces::debug.

◆ log_debug() [2/2]

VoidResult kcenon::common::logging::log_debug ( std::string_view message,
const source_location & loc = source_location::current() )
inline

Log a debug-level message.

Debug messages are used for development-time debugging information.

Parameters
messageMessage to log
locSource location (automatically captured)
Returns
VoidResult indicating success or error

Definition at line 155 of file log_functions.h.

156 {
157 return log(interfaces::log_level::debug, message, loc);
158}

References kcenon::common::interfaces::debug, and log().

Here is the call graph for this function:

◆ log_debug_to()

VoidResult kcenon::common::logging::log_debug_to ( const std::string & logger_name,
std::string_view message,
const source_location & loc = source_location::current() )
inline

Log a debug-level message to a named logger.

Parameters
logger_nameName of the logger
messageMessage to log
locSource location (automatically captured)
Returns
VoidResult indicating success or error

Definition at line 246 of file log_functions.h.

248 {
249 return log(interfaces::log_level::debug, message, logger_name, loc);
250}

References kcenon::common::interfaces::debug, and log().

Here is the call graph for this function:

◆ log_error() [1/2]

void kcenon::common::logging::log_error ( std::shared_ptr< interfaces::ILogger > logger,
std::string_view message )
inlineexport

Log an error message.

Definition at line 80 of file logging.cppm.

80 {
81 if (logger && logger->is_enabled(interfaces::log_level::error)) {
82 logger->log(interfaces::log_level::error, message);
83 }
84}

References kcenon::common::interfaces::error.

◆ log_error() [2/2]

VoidResult kcenon::common::logging::log_error ( std::string_view message,
const source_location & loc = source_location::current() )
inline

Log an error-level message.

Error messages indicate failures that may require attention but don't necessarily terminate the application.

Parameters
messageMessage to log
locSource location (automatically captured)
Returns
VoidResult indicating success or error

Definition at line 199 of file log_functions.h.

200 {
201 return log(interfaces::log_level::error, message, loc);
202}

References kcenon::common::interfaces::error, and log().

Here is the call graph for this function:

◆ log_error_to()

VoidResult kcenon::common::logging::log_error_to ( const std::string & logger_name,
std::string_view message,
const source_location & loc = source_location::current() )
inline

Log an error-level message to a named logger.

Parameters
logger_nameName of the logger
messageMessage to log
locSource location (automatically captured)
Returns
VoidResult indicating success or error

Definition at line 288 of file log_functions.h.

290 {
291 return log(interfaces::log_level::error, message, logger_name, loc);
292}

References kcenon::common::interfaces::error, and log().

Here is the call graph for this function:

◆ log_info() [1/2]

void kcenon::common::logging::log_info ( std::shared_ptr< interfaces::ILogger > logger,
std::string_view message )
inlineexport

Log an info message.

Definition at line 62 of file logging.cppm.

62 {
63 if (logger && logger->is_enabled(interfaces::log_level::info)) {
64 logger->log(interfaces::log_level::info, message);
65 }
66}

References kcenon::common::interfaces::info.

◆ log_info() [2/2]

VoidResult kcenon::common::logging::log_info ( std::string_view message,
const source_location & loc = source_location::current() )
inline

Log an info-level message.

Info messages convey general operational information.

Parameters
messageMessage to log
locSource location (automatically captured)
Returns
VoidResult indicating success or error

Definition at line 169 of file log_functions.h.

170 {
171 return log(interfaces::log_level::info, message, loc);
172}

References kcenon::common::interfaces::info, and log().

Here is the call graph for this function:

◆ log_info_to()

VoidResult kcenon::common::logging::log_info_to ( const std::string & logger_name,
std::string_view message,
const source_location & loc = source_location::current() )
inline

Log an info-level message to a named logger.

Parameters
logger_nameName of the logger
messageMessage to log
locSource location (automatically captured)
Returns
VoidResult indicating success or error

Definition at line 260 of file log_functions.h.

262 {
263 return log(interfaces::log_level::info, message, logger_name, loc);
264}

References kcenon::common::interfaces::info, and log().

Here is the call graph for this function:

◆ log_trace() [1/2]

void kcenon::common::logging::log_trace ( std::shared_ptr< interfaces::ILogger > logger,
std::string_view message )
inlineexport

Log a trace message.

Definition at line 44 of file logging.cppm.

44 {
45 if (logger && logger->is_enabled(interfaces::log_level::trace)) {
46 logger->log(interfaces::log_level::trace, message);
47 }
48}

References kcenon::common::interfaces::trace.

◆ log_trace() [2/2]

VoidResult kcenon::common::logging::log_trace ( std::string_view message,
const source_location & loc = source_location::current() )
inline

Log a trace-level message.

Trace messages are the most verbose and typically used for detailed debugging information.

Parameters
messageMessage to log
locSource location (automatically captured)
Returns
VoidResult indicating success or error

Definition at line 141 of file log_functions.h.

142 {
143 return log(interfaces::log_level::trace, message, loc);
144}

References log(), and kcenon::common::interfaces::trace.

Here is the call graph for this function:

◆ log_trace_to()

VoidResult kcenon::common::logging::log_trace_to ( const std::string & logger_name,
std::string_view message,
const source_location & loc = source_location::current() )
inline

Log a trace-level message to a named logger.

Parameters
logger_nameName of the logger
messageMessage to log
locSource location (automatically captured)
Returns
VoidResult indicating success or error

Definition at line 232 of file log_functions.h.

234 {
235 return log(interfaces::log_level::trace, message, logger_name, loc);
236}

References log(), and kcenon::common::interfaces::trace.

Here is the call graph for this function:

◆ log_warning() [1/2]

void kcenon::common::logging::log_warning ( std::shared_ptr< interfaces::ILogger > logger,
std::string_view message )
inlineexport

Log a warning message.

Definition at line 71 of file logging.cppm.

71 {
72 if (logger && logger->is_enabled(interfaces::log_level::warning)) {
73 logger->log(interfaces::log_level::warning, message);
74 }
75}

References kcenon::common::interfaces::warning.

◆ log_warning() [2/2]

VoidResult kcenon::common::logging::log_warning ( std::string_view message,
const source_location & loc = source_location::current() )
inline

Log a warning-level message.

Warning messages indicate potentially problematic situations that don't prevent the application from functioning.

Parameters
messageMessage to log
locSource location (automatically captured)
Returns
VoidResult indicating success or error

Definition at line 184 of file log_functions.h.

185 {
186 return log(interfaces::log_level::warning, message, loc);
187}

References log(), and kcenon::common::interfaces::warning.

Here is the call graph for this function:

◆ log_warning_to()

VoidResult kcenon::common::logging::log_warning_to ( const std::string & logger_name,
std::string_view message,
const source_location & loc = source_location::current() )
inline

Log a warning-level message to a named logger.

Parameters
logger_nameName of the logger
messageMessage to log
locSource location (automatically captured)
Returns
VoidResult indicating success or error

Definition at line 274 of file log_functions.h.

276 {
277 return log(interfaces::log_level::warning, message, logger_name, loc);
278}

References log(), and kcenon::common::interfaces::warning.

Here is the call graph for this function:

◆ make_console_logger()

std::shared_ptr< interfaces::ILogger > kcenon::common::logging::make_console_logger ( interfaces::log_level level = interfaces::log_level::info)
inlineexport

Create a console logger.

Definition at line 154 of file logging.cppm.

155 {
156 return std::make_shared<ConsoleLogger>(level);
157}