This library uses spdlog for high-performance logging.
Features
- High Performance: spdlog is one of the fastest C++ logging libraries
- Thread Safe: All logging operations are thread-safe
- Multiple Log Levels: TRACE, DEBUG, INFO, WARN, ERROR, CRITICAL
- Formatted Output: Support for fmt-style formatting
- Configurable Patterns: Customize log message format
- Color Support: Colored console output for better readability
Usage
Basic Logging
#define LOG_DOIP_CRITICAL(...)
#define LOG_DOIP_WARN(...)
#define LOG_DOIP_ERROR(...)
#define LOG_DOIP_TRACE(...)
#define LOG_DOIP_INFO(...)
#define LOG_DOIP_DEBUG(...)
Formatted Logging
int port = 13400;
std::string interface = "eth0";
LOG_DOIP_INFO(
"DoIP server starting on interface '{}' port {}", interface, port);
auto timestamp = std::chrono::system_clock::now();
Configuration
static void setLevel(spdlog::level::level_enum level)
static void setPattern(const std::string &pattern)
Pattern Format
The default pattern is: [Y-m-d H:M:S.e] [n] [%^l%$] v
Common pattern flags:
Y - Year (4 digits)
m - Month (01-12)
d - Day (01-31)
H - Hour (00-23)
M - Minute (00-59)
S - Second (00-59)
e - Milliseconds (000-999)
n - Logger name
l - Log level
%^ - Start color range
%$ - End color range
v - The actual message