|
NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
|
日志记录和管理功能 更多...
类 | |
| class | neforce::file_sink |
| 文件日志输出目标 更多... | |
| class | neforce::mdc |
| Mapped Diagnostic Context,线程局部上下文 更多... | |
| struct | neforce::log_event |
| 日志事件结构体 更多... | |
| class | neforce::log_formatter |
| 日志格式化器 更多... | |
| class | neforce::log_sink |
| 日志输出目标基类 更多... | |
| class | neforce::console_sink |
| 控制台输出目标 更多... | |
| class | neforce::syslog_sink |
| 系统日志输出目标 更多... | |
| class | neforce::logger |
| 层级化日志记录器 更多... | |
| class | neforce::logger_registry |
| 全局 Logger 注册中心 更多... | |
宏定义 | |
| #define | NEFORCE_ACTIVE_LOG_LEVEL NEFORCE_LOG_LEVEL_TRACE |
| 编译期日志过滤阈值 | |
| #define | NEFORCE_GET_LOGGER(name) |
| 创建或获取命名 Logger | |
| #define | NEFORCE_ROOT_LOGGER() |
| 获取根 Logger | |
函数 | |
| constexpr string | neforce::to_string (const log_level level) |
| 将日志级别转换为字符串表示 | |
| string | neforce::default_sink_format (const log_event &ev) |
| 默认格式化函数 | |
| const color & | neforce::level_color (log_level level) |
| 获取日志级别对应的控制台颜色 | |
根 Logger 日志宏 | |
使用默认(根)Logger 输出日志。 低于 NEFORCE_ACTIVE_LOG_LEVEL 的宏在编译期被剥离为 ((void)0)。 | |
| #define | NEFORCE_LOG_TRACE(msg) |
| 使用根 Logger 输出 TRACE 级别日志 | |
| #define | NEFORCE_LOGF_TRACE(msg, ...) |
| 使用根 Logger 输出格式化 TRACE 级别日志 | |
| #define | NEFORCE_LOG_TRACE_IF(cond, msg) |
| 条件输出 TRACE 日志:仅当 cond 为 true 时输出 | |
| #define | NEFORCE_LOG_TRACE_EVERY_N(n, msg) |
| 频率控制 TRACE 日志:每 n 次调用输出 1 次 | |
| #define | NEFORCE_LOG_TRACE_FIRST_N(n, msg) |
| 次数限制 TRACE 日志:仅前 n 次调用输出 | |
| #define | NEFORCE_LOG_DEBUG(msg) |
| 使用根 Logger 输出 DEBUG 级别日志 | |
| #define | NEFORCE_LOGF_DEBUG(msg, ...) |
| 使用根 Logger 输出格式化 DEBUG 级别日志 | |
| #define | NEFORCE_LOG_DEBUG_IF(cond, msg) |
| 条件输出 DEBUG 日志:仅当 cond 为 true 时输出 | |
| #define | NEFORCE_LOG_DEBUG_EVERY_N(n, msg) |
| 频率控制 DEBUG 日志:每 n 次调用输出 1 次 | |
| #define | NEFORCE_LOG_DEBUG_FIRST_N(n, msg) |
| 次数限制 DEBUG 日志:仅前 n 次调用输出 | |
| #define | NEFORCE_LOG_INFO(msg) |
| 使用根 Logger 输出 INFO 级别日志 | |
| #define | NEFORCE_LOGF_INFO(msg, ...) |
| 使用根 Logger 输出格式化 INFO 级别日志 | |
| #define | NEFORCE_LOG_INFO_IF(cond, msg) |
| 条件输出 INFO 日志:仅当 cond 为 true 时输出 | |
| #define | NEFORCE_LOG_INFO_EVERY_N(n, msg) |
| 频率控制 INFO 日志:每 n 次调用输出 1 次 | |
| #define | NEFORCE_LOG_INFO_FIRST_N(n, msg) |
| 次数限制 INFO 日志:仅前 n 次调用输出 | |
| #define | NEFORCE_LOG_WARN(msg) |
| 使用根 Logger 输出 WARN 级别日志 | |
| #define | NEFORCE_LOGF_WARN(msg, ...) |
| 使用根 Logger 输出格式化 WARN 级别日志 | |
| #define | NEFORCE_LOG_WARN_IF(cond, msg) |
| 条件输出 WARN 日志:仅当 cond 为 true 时输出 | |
| #define | NEFORCE_LOG_WARN_EVERY_N(n, msg) |
| 频率控制 WARN 日志:每 n 次调用输出 1 次 | |
| #define | NEFORCE_LOG_WARN_FIRST_N(n, msg) |
| 次数限制 WARN 日志:仅前 n 次调用输出 | |
| #define | NEFORCE_LOG_ERROR(msg) |
| 使用根 Logger 输出 ERROR 级别日志 | |
| #define | NEFORCE_LOGF_ERROR(msg, ...) |
| 使用根 Logger 输出格式化 ERROR 级别日志 | |
| #define | NEFORCE_LOG_ERROR_IF(cond, msg) |
| 条件输出 ERROR 日志:仅当 cond 为 true 时输出 | |
| #define | NEFORCE_LOG_ERROR_EVERY_N(n, msg) |
| 频率控制 ERROR 日志:每 n 次调用输出 1 次 | |
| #define | NEFORCE_LOG_ERROR_FIRST_N(n, msg) |
| 次数限制 ERROR 日志:仅前 n 次调用输出 | |
| #define | NEFORCE_LOG_FATAL(msg) |
| 使用根 Logger 输出 FATAL 级别日志 | |
| #define | NEFORCE_LOGF_FATAL(msg, ...) |
| 使用根 Logger 输出格式化 FATAL 级别日志 | |
| #define | NEFORCE_LOG_FATAL_IF(cond, msg) |
| 条件输出 FATAL 日志:仅当 cond 为 true 时输出 | |
| #define | NEFORCE_LOG_FATAL_EVERY_N(n, msg) |
| 频率控制 FATAL 日志:每 n 次调用输出 1 次 | |
| #define | NEFORCE_LOG_FATAL_FIRST_N(n, msg) |
| 次数限制 FATAL 日志:仅前 n 次调用输出 | |
命名 Logger 日志宏 | |
使用指定名称的 Logger 输出日志。Logger 在首次使用时通过 logger_registry::get_logger() 自动创建。 | |
| #define | NEFORCE_LOGGER_LOG_TRACE(name, msg) |
| 使用命名 Logger 输出 TRACE 级别日志 | |
| #define | NEFORCE_LOGGER_LOGF_TRACE(name, msg, ...) |
| 使用命名 Logger 输出格式化 TRACE 级别日志 | |
| #define | NEFORCE_LOGGER_LOG_DEBUG(name, msg) |
| 使用命名 Logger 输出 DEBUG 级别日志 | |
| #define | NEFORCE_LOGGER_LOGF_DEBUG(name, msg, ...) |
| 使用命名 Logger 输出格式化 DEBUG 级别日志 | |
| #define | NEFORCE_LOGGER_LOG_INFO(name, msg) |
| 使用命名 Logger 输出 INFO 级别日志 | |
| #define | NEFORCE_LOGGER_LOGF_INFO(name, msg, ...) |
| 使用命名 Logger 输出格式化 INFO 级别日志 | |
| #define | NEFORCE_LOGGER_LOG_WARN(name, msg) |
| 使用命名 Logger 输出 WARN 级别日志 | |
| #define | NEFORCE_LOGGER_LOGF_WARN(name, msg, ...) |
| 使用命名 Logger 输出格式化 WARN 级别日志 | |
| #define | NEFORCE_LOGGER_LOG_ERROR(name, msg) |
| 使用命名 Logger 输出 ERROR 级别日志 | |
| #define | NEFORCE_LOGGER_LOGF_ERROR(name, msg, ...) |
| 使用命名 Logger 输出格式化 ERROR 级别日志 | |
| #define | NEFORCE_LOGGER_LOG_FATAL(name, msg) |
| 使用命名 Logger 输出 FATAL 级别日志 | |
| #define | NEFORCE_LOGGER_LOGF_FATAL(name, msg, ...) |
| 使用命名 Logger 输出格式化 FATAL 级别日志 | |
日志记录和管理功能
提供完整的日志系统,支持:
| #define NEFORCE_ACTIVE_LOG_LEVEL NEFORCE_LOG_LEVEL_TRACE |
编译期日志过滤阈值
低于此阈值的日志宏在编译期被剥离为 ((void)0)。 默认值:Debug 构建为 TRACE,Release 构建(定义了 NDEBUG)为 INFO。 可通过在包含此头文件前定义该宏来覆盖。
在文件 log_event.hpp 第 73 行定义.
| #define NEFORCE_GET_LOGGER | ( | name | ) |
创建或获取命名 Logger
| name | Logger 名称(点分隔的层级名,如 "app.network.tcp") |
在文件 logger.hpp 第 788 行定义.
| #define NEFORCE_LOG_DEBUG | ( | msg | ) |
使用根 Logger 输出 DEBUG 级别日志
| msg | 日志消息字符串 |
在文件 logger.hpp 第 384 行定义.
| #define NEFORCE_LOG_DEBUG_EVERY_N | ( | n, | |
| msg ) |
频率控制 DEBUG 日志:每 n 次调用输出 1 次
| n | 输出间隔(每 n 次输出 1 次) |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 406 行定义.
| #define NEFORCE_LOG_DEBUG_FIRST_N | ( | n, | |
| msg ) |
次数限制 DEBUG 日志:仅前 n 次调用输出
| n | 最大输出次数 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 417 行定义.
| #define NEFORCE_LOG_DEBUG_IF | ( | cond, | |
| msg ) |
条件输出 DEBUG 日志:仅当 cond 为 true 时输出
| cond | 条件表达式 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 396 行定义.
| #define NEFORCE_LOG_ERROR | ( | msg | ) |
使用根 Logger 输出 ERROR 级别日志
| msg | 日志消息字符串 |
在文件 logger.hpp 第 543 行定义.
| #define NEFORCE_LOG_ERROR_EVERY_N | ( | n, | |
| msg ) |
频率控制 ERROR 日志:每 n 次调用输出 1 次
| n | 输出间隔(每 n 次输出 1 次) |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 565 行定义.
| #define NEFORCE_LOG_ERROR_FIRST_N | ( | n, | |
| msg ) |
次数限制 ERROR 日志:仅前 n 次调用输出
| n | 最大输出次数 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 576 行定义.
| #define NEFORCE_LOG_ERROR_IF | ( | cond, | |
| msg ) |
条件输出 ERROR 日志:仅当 cond 为 true 时输出
| cond | 条件表达式 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 555 行定义.
| #define NEFORCE_LOG_FATAL | ( | msg | ) |
使用根 Logger 输出 FATAL 级别日志
| msg | 日志消息字符串 |
在文件 logger.hpp 第 596 行定义.
| #define NEFORCE_LOG_FATAL_EVERY_N | ( | n, | |
| msg ) |
频率控制 FATAL 日志:每 n 次调用输出 1 次
| n | 输出间隔(每 n 次输出 1 次) |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 618 行定义.
| #define NEFORCE_LOG_FATAL_FIRST_N | ( | n, | |
| msg ) |
次数限制 FATAL 日志:仅前 n 次调用输出
| n | 最大输出次数 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 629 行定义.
| #define NEFORCE_LOG_FATAL_IF | ( | cond, | |
| msg ) |
条件输出 FATAL 日志:仅当 cond 为 true 时输出
| cond | 条件表达式 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 608 行定义.
| #define NEFORCE_LOG_INFO | ( | msg | ) |
使用根 Logger 输出 INFO 级别日志
| msg | 日志消息字符串 |
在文件 logger.hpp 第 437 行定义.
| #define NEFORCE_LOG_INFO_EVERY_N | ( | n, | |
| msg ) |
频率控制 INFO 日志:每 n 次调用输出 1 次
| n | 输出间隔(每 n 次输出 1 次) |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 459 行定义.
| #define NEFORCE_LOG_INFO_FIRST_N | ( | n, | |
| msg ) |
次数限制 INFO 日志:仅前 n 次调用输出
| n | 最大输出次数 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 470 行定义.
| #define NEFORCE_LOG_INFO_IF | ( | cond, | |
| msg ) |
条件输出 INFO 日志:仅当 cond 为 true 时输出
| cond | 条件表达式 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 449 行定义.
| #define NEFORCE_LOG_TRACE | ( | msg | ) |
使用根 Logger 输出 TRACE 级别日志
| msg | 日志消息字符串 |
在文件 logger.hpp 第 331 行定义.
| #define NEFORCE_LOG_TRACE_EVERY_N | ( | n, | |
| msg ) |
频率控制 TRACE 日志:每 n 次调用输出 1 次
| n | 输出间隔(每 n 次输出 1 次) |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 353 行定义.
| #define NEFORCE_LOG_TRACE_FIRST_N | ( | n, | |
| msg ) |
次数限制 TRACE 日志:仅前 n 次调用输出
| n | 最大输出次数 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 364 行定义.
| #define NEFORCE_LOG_TRACE_IF | ( | cond, | |
| msg ) |
条件输出 TRACE 日志:仅当 cond 为 true 时输出
| cond | 条件表达式 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 343 行定义.
| #define NEFORCE_LOG_WARN | ( | msg | ) |
使用根 Logger 输出 WARN 级别日志
| msg | 日志消息字符串 |
在文件 logger.hpp 第 490 行定义.
| #define NEFORCE_LOG_WARN_EVERY_N | ( | n, | |
| msg ) |
频率控制 WARN 日志:每 n 次调用输出 1 次
| n | 输出间隔(每 n 次输出 1 次) |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 512 行定义.
| #define NEFORCE_LOG_WARN_FIRST_N | ( | n, | |
| msg ) |
次数限制 WARN 日志:仅前 n 次调用输出
| n | 最大输出次数 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 523 行定义.
| #define NEFORCE_LOG_WARN_IF | ( | cond, | |
| msg ) |
条件输出 WARN 日志:仅当 cond 为 true 时输出
| cond | 条件表达式 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 502 行定义.
| #define NEFORCE_LOGF_DEBUG | ( | msg, | |
| ... ) |
使用根 Logger 输出格式化 DEBUG 级别日志
| msg | 格式化字符串(fmt 风格) |
| ... | 格式化参数 |
在文件 logger.hpp 第 390 行定义.
| #define NEFORCE_LOGF_ERROR | ( | msg, | |
| ... ) |
使用根 Logger 输出格式化 ERROR 级别日志
| msg | 格式化字符串(fmt 风格) |
| ... | 格式化参数 |
在文件 logger.hpp 第 549 行定义.
| #define NEFORCE_LOGF_FATAL | ( | msg, | |
| ... ) |
使用根 Logger 输出格式化 FATAL 级别日志
| msg | 格式化字符串(fmt 风格) |
| ... | 格式化参数 |
在文件 logger.hpp 第 602 行定义.
| #define NEFORCE_LOGF_INFO | ( | msg, | |
| ... ) |
使用根 Logger 输出格式化 INFO 级别日志
| msg | 格式化字符串(fmt 风格) |
| ... | 格式化参数 |
在文件 logger.hpp 第 443 行定义.
| #define NEFORCE_LOGF_TRACE | ( | msg, | |
| ... ) |
使用根 Logger 输出格式化 TRACE 级别日志
| msg | 格式化字符串(fmt 风格) |
| ... | 格式化参数 |
在文件 logger.hpp 第 337 行定义.
| #define NEFORCE_LOGF_WARN | ( | msg, | |
| ... ) |
使用根 Logger 输出格式化 WARN 级别日志
| msg | 格式化字符串(fmt 风格) |
| ... | 格式化参数 |
在文件 logger.hpp 第 496 行定义.
| #define NEFORCE_LOGGER_LOG_DEBUG | ( | name, | |
| msg ) |
使用命名 Logger 输出 DEBUG 级别日志
| name | Logger 名称 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 682 行定义.
| #define NEFORCE_LOGGER_LOG_ERROR | ( | name, | |
| msg ) |
使用命名 Logger 输出 ERROR 级别日志
| name | Logger 名称 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 745 行定义.
| #define NEFORCE_LOGGER_LOG_FATAL | ( | name, | |
| msg ) |
使用命名 Logger 输出 FATAL 级别日志
| name | Logger 名称 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 766 行定义.
| #define NEFORCE_LOGGER_LOG_INFO | ( | name, | |
| msg ) |
使用命名 Logger 输出 INFO 级别日志
| name | Logger 名称 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 703 行定义.
| #define NEFORCE_LOGGER_LOG_TRACE | ( | name, | |
| msg ) |
使用命名 Logger 输出 TRACE 级别日志
| name | Logger 名称(点分隔层级,如 "app.network") |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 661 行定义.
| #define NEFORCE_LOGGER_LOG_WARN | ( | name, | |
| msg ) |
使用命名 Logger 输出 WARN 级别日志
| name | Logger 名称 |
| msg | 日志消息字符串 |
在文件 logger.hpp 第 724 行定义.
| #define NEFORCE_LOGGER_LOGF_DEBUG | ( | name, | |
| msg, | |||
| ... ) |
使用命名 Logger 输出格式化 DEBUG 级别日志
| name | Logger 名称 |
| msg | 格式化字符串(fmt 风格) |
| ... | 格式化参数 |
在文件 logger.hpp 第 689 行定义.
| #define NEFORCE_LOGGER_LOGF_ERROR | ( | name, | |
| msg, | |||
| ... ) |
使用命名 Logger 输出格式化 ERROR 级别日志
| name | Logger 名称 |
| msg | 格式化字符串(fmt 风格) |
| ... | 格式化参数 |
在文件 logger.hpp 第 752 行定义.
| #define NEFORCE_LOGGER_LOGF_FATAL | ( | name, | |
| msg, | |||
| ... ) |
使用命名 Logger 输出格式化 FATAL 级别日志
| name | Logger 名称 |
| msg | 格式化字符串(fmt 风格) |
| ... | 格式化参数 |
在文件 logger.hpp 第 773 行定义.
| #define NEFORCE_LOGGER_LOGF_INFO | ( | name, | |
| msg, | |||
| ... ) |
使用命名 Logger 输出格式化 INFO 级别日志
| name | Logger 名称 |
| msg | 格式化字符串(fmt 风格) |
| ... | 格式化参数 |
在文件 logger.hpp 第 710 行定义.
| #define NEFORCE_LOGGER_LOGF_TRACE | ( | name, | |
| msg, | |||
| ... ) |
使用命名 Logger 输出格式化 TRACE 级别日志
| name | Logger 名称 |
| msg | 格式化字符串(fmt 风格) |
| ... | 格式化参数 |
在文件 logger.hpp 第 668 行定义.
| #define NEFORCE_LOGGER_LOGF_WARN | ( | name, | |
| msg, | |||
| ... ) |
使用命名 Logger 输出格式化 WARN 级别日志
| name | Logger 名称 |
| msg | 格式化字符串(fmt 风格) |
| ... | 格式化参数 |
在文件 logger.hpp 第 731 行定义.
|
strong |
日志级别枚举
定义了日志的严重性级别。枚举值与编译期过滤宏一一对应。
| 枚举值 | |
|---|---|
| TRACE | 跟踪级别 |
| DEBUG | 调试级别 |
| INFO | 信息级别 |
| WARN | 警告级别 |
| ERROR | 错误级别 |
| FATAL | 致命级别 |
| OFF | 关闭所有日志 |
在文件 log_event.hpp 第 51 行定义.
|
strong |
异步队列溢出策略
当日志队列满时,决定新事件的去留。
| 枚举值 | |
|---|---|
| block | 阻塞等待直到队列有空间 |
| discard | 丢弃新事件 |
| overrun_oldest | 丢弃队列中最旧的事件,为新事件腾出空间 |
在文件 log_event.hpp 第 110 行定义.
|
strong |
Syslog 设施类型
对应 Linux syslog(3) 的 facility 参数,用于标识消息来源。
在文件 log_sink.hpp 第 114 行定义.
默认格式化函数
| ev | 日志事件 |
在文件 log_sink.hpp 第 30 行定义.
引用了 default_sink_format(), neforce::log_event::level, neforce::log_event::message , 以及 to_string().
被这些函数引用 default_sink_format().
将日志级别转换为字符串表示
| level | 日志级别 |
在文件 log_event.hpp 第 82 行定义.
引用了 DEBUG, ERROR, FATAL, INFO, OFF, to_string(), TRACE, unreachable() , 以及 WARN.