异步日志系统

5.8k 词

这是一个轻量级异步日志器(async logger)。目标是用现代 C++(线程、互斥、条件变量)实现一个线程安全、低阻塞的日志写入方案:生产者将格式化后的日志消息推入队列,后台消费者线程异步写入文件并可选地输出到终端。整体实现包含一个简单的占位符格式化(暂用{},可自行修改)、类型到字符串的通用转换和优雅的后台线程关闭机制。

使用方法

这是一个head-only的库,只需要简单地包含头文件即可以调用,下面是使用示例

 

使用效果(同时开启终端输出与文件输出时)
文件输出:

终端输出:

后续可以考虑增加不同输出等级限制,比如【Info】 【Warn】 【Error】这些