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

枚举

enum class  neforce::log_level : uint8_t {
  log_level::TRACE = 0 , log_level::DEBUG = 1 , log_level::INFO = 2 , log_level::WARN = 3 ,
  log_level::ERROR = 4 , log_level::FATAL = 5 , log_level::OFF = 6
}
 日志级别枚举 更多...
enum class  neforce::overflow_policy : uint8_t { overflow_policy::block , overflow_policy::discard , overflow_policy::overrun_oldest }
 异步队列溢出策略 更多...
enum class  neforce::syslog_facility : int {
  syslog_facility::LOG_AUTH = 1 << 3 , syslog_facility::LOG_CRON = 9 << 3 , syslog_facility::LOG_DAEMON = 3 << 3 , syslog_facility::LOG_KERN = 0 << 3 ,
  syslog_facility::LOG_LOCAL0 = 16 << 3 , syslog_facility::LOG_LOCAL1 = 17 << 3 , syslog_facility::LOG_LOCAL2 = 18 << 3 , syslog_facility::LOG_LOCAL3 = 19 << 3 ,
  syslog_facility::LOG_LOCAL4 = 20 << 3 , syslog_facility::LOG_LOCAL5 = 21 << 3 , syslog_facility::LOG_LOCAL6 = 22 << 3 , syslog_facility::LOG_LOCAL7 = 23 << 3 ,
  syslog_facility::LOG_LPR = 6 << 3 , syslog_facility::LOG_MAIL = 2 << 3 , syslog_facility::LOG_NEWS = 7 << 3 , syslog_facility::LOG_SYSLOG = 5 << 3 ,
  syslog_facility::LOG_USER = 1 << 3 , syslog_facility::LOG_UUCP = 8 << 3
}
 Syslog 设施类型 更多...

函数

constexpr string neforce::to_string (const log_level level)
 将日志级别转换为字符串表示
string neforce::default_sink_format (const log_event &ev)
 默认格式化函数
const colorneforce::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 级别日志

详细描述

日志记录和管理功能

提供完整的日志系统,支持:

  • 层级化 Logger 命名("app.module.sub")
  • 编译期级别过滤(零开销)
  • 线程池异步模式(基于 thread_pool)
  • 异步队列溢出策略(阻塞 / 丢弃 / 覆盖最旧)
  • 条件日志(LOG_IF, LOG_EVERY_N, LOG_FIRST_N)
  • 自动刷新间隔
  • 三层上下文(全局 / Logger / MDC 线程局部)

宏定义说明

◆ NEFORCE_ACTIVE_LOG_LEVEL

#define NEFORCE_ACTIVE_LOG_LEVEL   NEFORCE_LOG_LEVEL_TRACE

编译期日志过滤阈值

低于此阈值的日志宏在编译期被剥离为 ((void)0)。 默认值:Debug 构建为 TRACE,Release 构建(定义了 NDEBUG)为 INFO。 可通过在包含此头文件前定义该宏来覆盖。

在文件 log_event.hpp73 行定义.

◆ NEFORCE_GET_LOGGER

#define NEFORCE_GET_LOGGER ( name)
值:
_NEFORCE logger_registry::instance().get_logger(name)

创建或获取命名 Logger

参数
nameLogger 名称(点分隔的层级名,如 "app.network.tcp")

在文件 logger.hpp788 行定义.

◆ NEFORCE_LOG_DEBUG

#define NEFORCE_LOG_DEBUG ( msg)
值:
NEFORCE_LOG_BODY(_NEFORCE log_level::DEBUG, msg)

使用根 Logger 输出 DEBUG 级别日志

参数
msg日志消息字符串

在文件 logger.hpp384 行定义.

◆ NEFORCE_LOG_DEBUG_EVERY_N

#define NEFORCE_LOG_DEBUG_EVERY_N ( n,
msg )
值:
do { \
static size_t _c = 0; \
if (++_c % n == 1) \
NEFORCE_LOG_BODY(_NEFORCE log_level::DEBUG, msg); \
} while (false)

频率控制 DEBUG 日志:每 n 次调用输出 1 次

参数
n输出间隔(每 n 次输出 1 次)
msg日志消息字符串

在文件 logger.hpp406 行定义.

◆ NEFORCE_LOG_DEBUG_FIRST_N

#define NEFORCE_LOG_DEBUG_FIRST_N ( n,
msg )
值:
do { \
static size_t _c = 0; \
if (_c++ < n) \
NEFORCE_LOG_BODY(_NEFORCE log_level::DEBUG, msg); \
} while (false)

次数限制 DEBUG 日志:仅前 n 次调用输出

参数
n最大输出次数
msg日志消息字符串

在文件 logger.hpp417 行定义.

◆ NEFORCE_LOG_DEBUG_IF

#define NEFORCE_LOG_DEBUG_IF ( cond,
msg )
值:
do { \
if (cond) \
NEFORCE_LOG_BODY(_NEFORCE log_level::DEBUG, msg); \
} while (false)

条件输出 DEBUG 日志:仅当 cond 为 true 时输出

参数
cond条件表达式
msg日志消息字符串

在文件 logger.hpp396 行定义.

◆ NEFORCE_LOG_ERROR

#define NEFORCE_LOG_ERROR ( msg)
值:
NEFORCE_LOG_BODY(_NEFORCE log_level::ERROR, msg)

使用根 Logger 输出 ERROR 级别日志

参数
msg日志消息字符串

在文件 logger.hpp543 行定义.

◆ NEFORCE_LOG_ERROR_EVERY_N

#define NEFORCE_LOG_ERROR_EVERY_N ( n,
msg )
值:
do { \
static size_t _c = 0; \
if (++_c % n == 1) \
NEFORCE_LOG_BODY(_NEFORCE log_level::ERROR, msg); \
} while (false)

频率控制 ERROR 日志:每 n 次调用输出 1 次

参数
n输出间隔(每 n 次输出 1 次)
msg日志消息字符串

在文件 logger.hpp565 行定义.

◆ NEFORCE_LOG_ERROR_FIRST_N

#define NEFORCE_LOG_ERROR_FIRST_N ( n,
msg )
值:
do { \
static size_t _c = 0; \
if (_c++ < n) \
NEFORCE_LOG_BODY(_NEFORCE log_level::ERROR, msg); \
} while (false)

次数限制 ERROR 日志:仅前 n 次调用输出

参数
n最大输出次数
msg日志消息字符串

在文件 logger.hpp576 行定义.

◆ NEFORCE_LOG_ERROR_IF

#define NEFORCE_LOG_ERROR_IF ( cond,
msg )
值:
do { \
if (cond) \
NEFORCE_LOG_BODY(_NEFORCE log_level::ERROR, msg); \
} while (false)

条件输出 ERROR 日志:仅当 cond 为 true 时输出

参数
cond条件表达式
msg日志消息字符串

在文件 logger.hpp555 行定义.

◆ NEFORCE_LOG_FATAL

#define NEFORCE_LOG_FATAL ( msg)
值:
NEFORCE_LOG_BODY(_NEFORCE log_level::FATAL, msg)

使用根 Logger 输出 FATAL 级别日志

参数
msg日志消息字符串

在文件 logger.hpp596 行定义.

◆ NEFORCE_LOG_FATAL_EVERY_N

#define NEFORCE_LOG_FATAL_EVERY_N ( n,
msg )
值:
do { \
static size_t _c = 0; \
if (++_c % n == 1) \
NEFORCE_LOG_BODY(_NEFORCE log_level::FATAL, msg); \
} while (false)

频率控制 FATAL 日志:每 n 次调用输出 1 次

参数
n输出间隔(每 n 次输出 1 次)
msg日志消息字符串

在文件 logger.hpp618 行定义.

◆ NEFORCE_LOG_FATAL_FIRST_N

#define NEFORCE_LOG_FATAL_FIRST_N ( n,
msg )
值:
do { \
static size_t _c = 0; \
if (_c++ < n) \
NEFORCE_LOG_BODY(_NEFORCE log_level::FATAL, msg); \
} while (false)

次数限制 FATAL 日志:仅前 n 次调用输出

参数
n最大输出次数
msg日志消息字符串

在文件 logger.hpp629 行定义.

◆ NEFORCE_LOG_FATAL_IF

#define NEFORCE_LOG_FATAL_IF ( cond,
msg )
值:
do { \
if (cond) \
NEFORCE_LOG_BODY(_NEFORCE log_level::FATAL, msg); \
} while (false)

条件输出 FATAL 日志:仅当 cond 为 true 时输出

参数
cond条件表达式
msg日志消息字符串

在文件 logger.hpp608 行定义.

◆ NEFORCE_LOG_INFO

#define NEFORCE_LOG_INFO ( msg)
值:
NEFORCE_LOG_BODY(_NEFORCE log_level::INFO, msg)

使用根 Logger 输出 INFO 级别日志

参数
msg日志消息字符串

在文件 logger.hpp437 行定义.

◆ NEFORCE_LOG_INFO_EVERY_N

#define NEFORCE_LOG_INFO_EVERY_N ( n,
msg )
值:
do { \
static size_t _c = 0; \
if (++_c % n == 1) \
NEFORCE_LOG_BODY(_NEFORCE log_level::INFO, msg); \
} while (false)

频率控制 INFO 日志:每 n 次调用输出 1 次

参数
n输出间隔(每 n 次输出 1 次)
msg日志消息字符串

在文件 logger.hpp459 行定义.

◆ NEFORCE_LOG_INFO_FIRST_N

#define NEFORCE_LOG_INFO_FIRST_N ( n,
msg )
值:
do { \
static size_t _c = 0; \
if (_c++ < n) \
NEFORCE_LOG_BODY(_NEFORCE log_level::INFO, msg); \
} while (false)

次数限制 INFO 日志:仅前 n 次调用输出

参数
n最大输出次数
msg日志消息字符串

在文件 logger.hpp470 行定义.

◆ NEFORCE_LOG_INFO_IF

#define NEFORCE_LOG_INFO_IF ( cond,
msg )
值:
do { \
if (cond) \
NEFORCE_LOG_BODY(_NEFORCE log_level::INFO, msg); \
} while (false)

条件输出 INFO 日志:仅当 cond 为 true 时输出

参数
cond条件表达式
msg日志消息字符串

在文件 logger.hpp449 行定义.

◆ NEFORCE_LOG_TRACE

#define NEFORCE_LOG_TRACE ( msg)
值:
NEFORCE_LOG_BODY(_NEFORCE log_level::TRACE, msg)

使用根 Logger 输出 TRACE 级别日志

参数
msg日志消息字符串

在文件 logger.hpp331 行定义.

◆ NEFORCE_LOG_TRACE_EVERY_N

#define NEFORCE_LOG_TRACE_EVERY_N ( n,
msg )
值:
do { \
static size_t _c = 0; \
if (++_c % n == 1) \
NEFORCE_LOG_BODY(_NEFORCE log_level::TRACE, msg); \
} while (false)

频率控制 TRACE 日志:每 n 次调用输出 1 次

参数
n输出间隔(每 n 次输出 1 次)
msg日志消息字符串

在文件 logger.hpp353 行定义.

◆ NEFORCE_LOG_TRACE_FIRST_N

#define NEFORCE_LOG_TRACE_FIRST_N ( n,
msg )
值:
do { \
static size_t _c = 0; \
if (_c++ < n) \
NEFORCE_LOG_BODY(_NEFORCE log_level::TRACE, msg); \
} while (false)

次数限制 TRACE 日志:仅前 n 次调用输出

参数
n最大输出次数
msg日志消息字符串

在文件 logger.hpp364 行定义.

◆ NEFORCE_LOG_TRACE_IF

#define NEFORCE_LOG_TRACE_IF ( cond,
msg )
值:
do { \
if (cond) \
NEFORCE_LOG_BODY(_NEFORCE log_level::TRACE, msg); \
} while (false)

条件输出 TRACE 日志:仅当 cond 为 true 时输出

参数
cond条件表达式
msg日志消息字符串

在文件 logger.hpp343 行定义.

◆ NEFORCE_LOG_WARN

#define NEFORCE_LOG_WARN ( msg)
值:
NEFORCE_LOG_BODY(_NEFORCE log_level::WARN, msg)

使用根 Logger 输出 WARN 级别日志

参数
msg日志消息字符串

在文件 logger.hpp490 行定义.

◆ NEFORCE_LOG_WARN_EVERY_N

#define NEFORCE_LOG_WARN_EVERY_N ( n,
msg )
值:
do { \
static size_t _c = 0; \
if (++_c % n == 1) \
NEFORCE_LOG_BODY(_NEFORCE log_level::WARN, msg); \
} while (false)

频率控制 WARN 日志:每 n 次调用输出 1 次

参数
n输出间隔(每 n 次输出 1 次)
msg日志消息字符串

在文件 logger.hpp512 行定义.

◆ NEFORCE_LOG_WARN_FIRST_N

#define NEFORCE_LOG_WARN_FIRST_N ( n,
msg )
值:
do { \
static size_t _c = 0; \
if (_c++ < n) \
NEFORCE_LOG_BODY(_NEFORCE log_level::WARN, msg); \
} while (false)

次数限制 WARN 日志:仅前 n 次调用输出

参数
n最大输出次数
msg日志消息字符串

在文件 logger.hpp523 行定义.

◆ NEFORCE_LOG_WARN_IF

#define NEFORCE_LOG_WARN_IF ( cond,
msg )
值:
do { \
if ((cond)) \
NEFORCE_LOG_BODY(_NEFORCE log_level::WARN, msg); \
} while (false)

条件输出 WARN 日志:仅当 cond 为 true 时输出

参数
cond条件表达式
msg日志消息字符串

在文件 logger.hpp502 行定义.

◆ NEFORCE_LOGF_DEBUG

#define NEFORCE_LOGF_DEBUG ( msg,
... )
值:
NEFORCE_LOGF_BODY(_NEFORCE log_level::DEBUG, msg, __VA_ARGS__)

使用根 Logger 输出格式化 DEBUG 级别日志

参数
msg格式化字符串(fmt 风格)
...格式化参数

在文件 logger.hpp390 行定义.

◆ NEFORCE_LOGF_ERROR

#define NEFORCE_LOGF_ERROR ( msg,
... )
值:
NEFORCE_LOGF_BODY(_NEFORCE log_level::ERROR, msg, __VA_ARGS__)

使用根 Logger 输出格式化 ERROR 级别日志

参数
msg格式化字符串(fmt 风格)
...格式化参数

在文件 logger.hpp549 行定义.

◆ NEFORCE_LOGF_FATAL

#define NEFORCE_LOGF_FATAL ( msg,
... )
值:
NEFORCE_LOGF_BODY(_NEFORCE log_level::FATAL, msg, __VA_ARGS__)

使用根 Logger 输出格式化 FATAL 级别日志

参数
msg格式化字符串(fmt 风格)
...格式化参数

在文件 logger.hpp602 行定义.

◆ NEFORCE_LOGF_INFO

#define NEFORCE_LOGF_INFO ( msg,
... )
值:
NEFORCE_LOGF_BODY(_NEFORCE log_level::INFO, msg, __VA_ARGS__)

使用根 Logger 输出格式化 INFO 级别日志

参数
msg格式化字符串(fmt 风格)
...格式化参数

在文件 logger.hpp443 行定义.

◆ NEFORCE_LOGF_TRACE

#define NEFORCE_LOGF_TRACE ( msg,
... )
值:
NEFORCE_LOGF_BODY(_NEFORCE log_level::TRACE, msg, __VA_ARGS__)

使用根 Logger 输出格式化 TRACE 级别日志

参数
msg格式化字符串(fmt 风格)
...格式化参数

在文件 logger.hpp337 行定义.

◆ NEFORCE_LOGF_WARN

#define NEFORCE_LOGF_WARN ( msg,
... )
值:
NEFORCE_LOGF_BODY(_NEFORCE log_level::WARN, msg, __VA_ARGS__)

使用根 Logger 输出格式化 WARN 级别日志

参数
msg格式化字符串(fmt 风格)
...格式化参数

在文件 logger.hpp496 行定义.

◆ NEFORCE_LOGGER_LOG_DEBUG

#define NEFORCE_LOGGER_LOG_DEBUG ( name,
msg )
值:
NEFORCE_LOGGER_LOG_BODY(_NEFORCE log_level::DEBUG, name, msg)

使用命名 Logger 输出 DEBUG 级别日志

参数
nameLogger 名称
msg日志消息字符串

在文件 logger.hpp682 行定义.

◆ NEFORCE_LOGGER_LOG_ERROR

#define NEFORCE_LOGGER_LOG_ERROR ( name,
msg )
值:
NEFORCE_LOGGER_LOG_BODY(_NEFORCE log_level::ERROR, name, msg)

使用命名 Logger 输出 ERROR 级别日志

参数
nameLogger 名称
msg日志消息字符串

在文件 logger.hpp745 行定义.

◆ NEFORCE_LOGGER_LOG_FATAL

#define NEFORCE_LOGGER_LOG_FATAL ( name,
msg )
值:
NEFORCE_LOGGER_LOG_BODY(_NEFORCE log_level::FATAL, name, msg)

使用命名 Logger 输出 FATAL 级别日志

参数
nameLogger 名称
msg日志消息字符串

在文件 logger.hpp766 行定义.

◆ NEFORCE_LOGGER_LOG_INFO

#define NEFORCE_LOGGER_LOG_INFO ( name,
msg )
值:
NEFORCE_LOGGER_LOG_BODY(_NEFORCE log_level::INFO, name, msg)

使用命名 Logger 输出 INFO 级别日志

参数
nameLogger 名称
msg日志消息字符串

在文件 logger.hpp703 行定义.

◆ NEFORCE_LOGGER_LOG_TRACE

#define NEFORCE_LOGGER_LOG_TRACE ( name,
msg )
值:
NEFORCE_LOGGER_LOG_BODY(_NEFORCE log_level::TRACE, name, msg)

使用命名 Logger 输出 TRACE 级别日志

参数
nameLogger 名称(点分隔层级,如 "app.network")
msg日志消息字符串

在文件 logger.hpp661 行定义.

◆ NEFORCE_LOGGER_LOG_WARN

#define NEFORCE_LOGGER_LOG_WARN ( name,
msg )
值:
NEFORCE_LOGGER_LOG_BODY(_NEFORCE log_level::WARN, name, msg)

使用命名 Logger 输出 WARN 级别日志

参数
nameLogger 名称
msg日志消息字符串

在文件 logger.hpp724 行定义.

◆ NEFORCE_LOGGER_LOGF_DEBUG

#define NEFORCE_LOGGER_LOGF_DEBUG ( name,
msg,
... )
值:
NEFORCE_LOGGER_LOGF_BODY(_NEFORCE log_level::DEBUG, name, msg, __VA_ARGS__)

使用命名 Logger 输出格式化 DEBUG 级别日志

参数
nameLogger 名称
msg格式化字符串(fmt 风格)
...格式化参数

在文件 logger.hpp689 行定义.

◆ NEFORCE_LOGGER_LOGF_ERROR

#define NEFORCE_LOGGER_LOGF_ERROR ( name,
msg,
... )
值:
NEFORCE_LOGGER_LOGF_BODY(_NEFORCE log_level::ERROR, name, msg, __VA_ARGS__)

使用命名 Logger 输出格式化 ERROR 级别日志

参数
nameLogger 名称
msg格式化字符串(fmt 风格)
...格式化参数

在文件 logger.hpp752 行定义.

◆ NEFORCE_LOGGER_LOGF_FATAL

#define NEFORCE_LOGGER_LOGF_FATAL ( name,
msg,
... )
值:
NEFORCE_LOGGER_LOGF_BODY(_NEFORCE log_level::FATAL, name, msg, __VA_ARGS__)

使用命名 Logger 输出格式化 FATAL 级别日志

参数
nameLogger 名称
msg格式化字符串(fmt 风格)
...格式化参数

在文件 logger.hpp773 行定义.

◆ NEFORCE_LOGGER_LOGF_INFO

#define NEFORCE_LOGGER_LOGF_INFO ( name,
msg,
... )
值:
NEFORCE_LOGGER_LOGF_BODY(_NEFORCE log_level::INFO, name, msg, __VA_ARGS__)

使用命名 Logger 输出格式化 INFO 级别日志

参数
nameLogger 名称
msg格式化字符串(fmt 风格)
...格式化参数

在文件 logger.hpp710 行定义.

◆ NEFORCE_LOGGER_LOGF_TRACE

#define NEFORCE_LOGGER_LOGF_TRACE ( name,
msg,
... )
值:
NEFORCE_LOGGER_LOGF_BODY(_NEFORCE log_level::TRACE, name, msg, __VA_ARGS__)

使用命名 Logger 输出格式化 TRACE 级别日志

参数
nameLogger 名称
msg格式化字符串(fmt 风格)
...格式化参数

在文件 logger.hpp668 行定义.

◆ NEFORCE_LOGGER_LOGF_WARN

#define NEFORCE_LOGGER_LOGF_WARN ( name,
msg,
... )
值:
NEFORCE_LOGGER_LOGF_BODY(_NEFORCE log_level::WARN, name, msg, __VA_ARGS__)

使用命名 Logger 输出格式化 WARN 级别日志

参数
nameLogger 名称
msg格式化字符串(fmt 风格)
...格式化参数

在文件 logger.hpp731 行定义.

枚举类型说明

◆ log_level

enum class neforce::log_level : uint8_t
strong

日志级别枚举

定义了日志的严重性级别。枚举值与编译期过滤宏一一对应。

枚举值
TRACE 

跟踪级别

DEBUG 

调试级别

INFO 

信息级别

WARN 

警告级别

ERROR 

错误级别

FATAL 

致命级别

OFF 

关闭所有日志

在文件 log_event.hpp51 行定义.

◆ overflow_policy

enum class neforce::overflow_policy : uint8_t
strong

异步队列溢出策略

当日志队列满时,决定新事件的去留。

枚举值
block 

阻塞等待直到队列有空间

discard 

丢弃新事件

overrun_oldest 

丢弃队列中最旧的事件,为新事件腾出空间

在文件 log_event.hpp110 行定义.

◆ syslog_facility

enum class neforce::syslog_facility : int
strong

Syslog 设施类型

对应 Linux syslog(3) 的 facility 参数,用于标识消息来源。

枚举值
LOG_AUTH 

安全/授权消息

LOG_CRON 

定时任务守护进程

LOG_DAEMON 

系统守护进程

LOG_KERN 

内核消息

LOG_LOCAL0 

本地自定义设施 0

LOG_LOCAL1 

本地自定义设施 1

LOG_LOCAL2 

本地自定义设施 2

LOG_LOCAL3 

本地自定义设施 3

LOG_LOCAL4 

本地自定义设施 4

LOG_LOCAL5 

本地自定义设施 5

LOG_LOCAL6 

本地自定义设施 6

LOG_LOCAL7 

本地自定义设施 7

LOG_LPR 

行式打印机子系统

LOG_MAIL 

邮件系统

LOG_NEWS 

USENET 新闻

LOG_SYSLOG 

syslogd 内部消息

LOG_USER 

通用用户级消息(默认)

LOG_UUCP 

UUCP 子系统

在文件 log_sink.hpp114 行定义.

函数说明

◆ default_sink_format()

string neforce::default_sink_format ( const log_event & ev)
inline

默认格式化函数

参数
ev日志事件
返回
格式为 "[LEVEL] message" 的字符串

在文件 log_sink.hpp30 行定义.

引用了 default_sink_format(), neforce::log_event::level, neforce::log_event::message , 以及 to_string().

被这些函数引用 default_sink_format().

◆ level_color()

const color & neforce::level_color ( log_level level)

获取日志级别对应的控制台颜色

参数
level日志级别
返回
对应颜色的引用

引用了 level_color().

被这些函数引用 level_color().

◆ to_string()

string neforce::to_string ( const log_level level)
constexpr

将日志级别转换为字符串表示

参数
level日志级别
返回
级别对应的字符串(TRACE/DEBUG/INFO/WARN/ERROR/FATAL/OFF)

在文件 log_event.hpp82 行定义.

引用了 DEBUG, ERROR, FATAL, INFO, OFF, to_string(), TRACE, unreachable() , 以及 WARN.