|
Common System 0.2.0
Common interfaces and patterns for system integration
|
Unified logging macros for convenient logging across all subsystems. More...
#include "log_functions.h"

Go to the source code of this file.
Macros | |
| #define | KCENON_LOG_ARG_COUNT(...) |
| Helper macros for variadic argument dispatch. | |
| #define | KCENON_LOG_ARG_COUNT_IMPL(_1, _2, N, ...) |
| #define | KCENON_LOG_PASTE(a, b) |
| #define | KCENON_LOG_PASTE_IMPL(a, b) |
| #define | KCENON_LOG_DISPATCH(LEVEL, ...) |
| #define | LOG_TRACE(...) |
| Log a trace-level message. | |
| #define | LOG_TRACE_1(msg) |
| #define | LOG_TRACE_2(logger_name, msg) |
| #define | LOG_DEBUG(...) |
| Log a debug-level message. | |
| #define | LOG_DEBUG_1(msg) |
| #define | LOG_DEBUG_2(logger_name, msg) |
| #define | LOG_INFO(...) |
| Log an info-level message. | |
| #define | LOG_INFO_1(msg) |
| #define | LOG_INFO_2(logger_name, msg) |
| #define | LOG_WARNING(...) |
| Log a warning-level message. | |
| #define | LOG_WARNING_1(msg) |
| #define | LOG_WARNING_2(logger_name, msg) |
| #define | LOG_ERROR(...) |
| Log an error-level message. | |
| #define | LOG_ERROR_1(msg) |
| #define | LOG_ERROR_2(logger_name, msg) |
| #define | LOG_CRITICAL(...) |
| Log a critical-level message. | |
| #define | LOG_CRITICAL_1(msg) |
| #define | LOG_CRITICAL_2(logger_name, msg) |
| #define | LOG_IF(level, msg) |
| Log a message only if the specified level is enabled. | |
| #define | LOG_IF_TO(level, logger_name, msg) |
| Log a message to a named logger only if the level is enabled. | |
| #define | LOG_FLUSH() |
| Flush the default logger's buffer. | |
| #define | LOG_FLUSH_TO(logger_name) |
| Flush a named logger's buffer. | |
| #define | LOG_IS_ENABLED(level) |
| Check if a log level is enabled for the default logger. | |
| #define | LOG_IS_ENABLED_FOR(level, logger_name) |
| Check if a log level is enabled for a named logger. | |
| #define | KCENON_MIN_LOG_LEVEL 0 |
| Minimum log level at compile time. | |
Unified logging macros for convenient logging across all subsystems.
This header provides preprocessor macros that wrap the logging functions from log_functions.h. These macros offer a convenient, concise way to log messages while automatically capturing source location information.
The macros support:
Thread Safety:
Usage:
Definition in file log_macros.h.
| #define KCENON_LOG_ARG_COUNT | ( | ... | ) |
Helper macros for variadic argument dispatch.
These macros enable LOG_* macros to accept either 1 or 2 arguments:
Implementation uses argument counting and token pasting for dispatch.
Definition at line 55 of file log_macros.h.
| #define KCENON_LOG_ARG_COUNT_IMPL | ( | _1, | |
| _2, | |||
| N, | |||
| ... ) |
Definition at line 57 of file log_macros.h.
| #define KCENON_LOG_DISPATCH | ( | LEVEL, | |
| ... ) |
Definition at line 64 of file log_macros.h.
| #define KCENON_LOG_PASTE | ( | a, | |
| b ) |
Definition at line 60 of file log_macros.h.
| #define KCENON_LOG_PASTE_IMPL | ( | a, | |
| b ) |
Definition at line 61 of file log_macros.h.
| #define KCENON_MIN_LOG_LEVEL 0 |
Minimum log level at compile time.
Define this macro before including log_macros.h to disable lower log levels at compile time. This removes the logging calls entirely from the compiled code.
Values:
Usage:
Definition at line 281 of file log_macros.h.
| #define LOG_CRITICAL | ( | ... | ) |
Log a critical-level message.
Supports two forms:
| msg | The message to log (string or string_view compatible) |
| logger_name | (optional) The name of the logger |
Definition at line 167 of file log_macros.h.
| #define LOG_CRITICAL_1 | ( | msg | ) |
Definition at line 168 of file log_macros.h.
| #define LOG_CRITICAL_2 | ( | logger_name, | |
| msg ) |
Definition at line 170 of file log_macros.h.
| #define LOG_DEBUG | ( | ... | ) |
Log a debug-level message.
Supports two forms:
| msg | The message to log (string or string_view compatible) |
| logger_name | (optional) The name of the logger |
Definition at line 99 of file log_macros.h.
| #define LOG_DEBUG_1 | ( | msg | ) |
Definition at line 100 of file log_macros.h.
| #define LOG_DEBUG_2 | ( | logger_name, | |
| msg ) |
Definition at line 102 of file log_macros.h.
| #define LOG_ERROR | ( | ... | ) |
Log an error-level message.
Supports two forms:
| msg | The message to log (string or string_view compatible) |
| logger_name | (optional) The name of the logger |
Definition at line 150 of file log_macros.h.
| #define LOG_ERROR_1 | ( | msg | ) |
Definition at line 151 of file log_macros.h.
| #define LOG_ERROR_2 | ( | logger_name, | |
| msg ) |
Definition at line 153 of file log_macros.h.
| #define LOG_FLUSH | ( | ) |
Flush the default logger's buffer.
Definition at line 223 of file log_macros.h.
| #define LOG_FLUSH_TO | ( | logger_name | ) |
Flush a named logger's buffer.
| logger_name | The name of the logger |
Definition at line 231 of file log_macros.h.
| #define LOG_IF | ( | level, | |
| msg ) |
Log a message only if the specified level is enabled.
This macro checks if the log level is enabled before evaluating the message expression, which is useful for avoiding expensive message construction when logging is disabled.
| level | Log level (e.g., log_level::debug) |
| msg | The message to log |
Usage:
Definition at line 193 of file log_macros.h.
| #define LOG_IF_TO | ( | level, | |
| logger_name, | |||
| msg ) |
Log a message to a named logger only if the level is enabled.
| level | Log level (e.g., log_level::debug) |
| logger_name | The name of the logger |
| msg | The message to log |
Definition at line 208 of file log_macros.h.
| #define LOG_INFO | ( | ... | ) |
Log an info-level message.
Supports two forms:
| msg | The message to log (string or string_view compatible) |
| logger_name | (optional) The name of the logger |
Definition at line 116 of file log_macros.h.
| #define LOG_INFO_1 | ( | msg | ) |
Definition at line 117 of file log_macros.h.
| #define LOG_INFO_2 | ( | logger_name, | |
| msg ) |
Definition at line 119 of file log_macros.h.
| #define LOG_IS_ENABLED | ( | level | ) |
Check if a log level is enabled for the default logger.
| level | Log level to check |
Definition at line 240 of file log_macros.h.
| #define LOG_IS_ENABLED_FOR | ( | level, | |
| logger_name ) |
Check if a log level is enabled for a named logger.
| level | Log level to check |
| logger_name | The name of the logger |
Definition at line 250 of file log_macros.h.
| #define LOG_TRACE | ( | ... | ) |
Log a trace-level message.
Supports two forms:
| msg | The message to log (string or string_view compatible) |
| logger_name | (optional) The name of the logger |
Definition at line 82 of file log_macros.h.
| #define LOG_TRACE_1 | ( | msg | ) |
Definition at line 83 of file log_macros.h.
| #define LOG_TRACE_2 | ( | logger_name, | |
| msg ) |
Definition at line 85 of file log_macros.h.
| #define LOG_WARNING | ( | ... | ) |
Log a warning-level message.
Supports two forms:
| msg | The message to log (string or string_view compatible) |
| logger_name | (optional) The name of the logger |
Definition at line 133 of file log_macros.h.
| #define LOG_WARNING_1 | ( | msg | ) |
Definition at line 134 of file log_macros.h.
| #define LOG_WARNING_2 | ( | logger_name, | |
| msg ) |
Definition at line 136 of file log_macros.h.