C++:splog

发布时间:2026/8/4 2:17:08
C++:splog C++ 的spdlog是高性能日志库之一,只包含头文件(Header-only),并且原生支持多线程、异步日志以及丰富的输出目标(控制台、文件、轮转日志等)。Logger(日志器): 日志的入口,负责接收消息并分发给 Sink。Sink(输出目标): 决定日志输出到哪里(如终端、文件、数据库等)。一个 Logger 可以绑定多个 Sink。Pattern(格式化): 控制日志输出的外观(时间、线程ID、日志级别、文件名等)。Async(异步模式): 使用环形缓冲区(Ring Buffer)在后台线程写入日志,极大地减少对业务线程的性能损耗。spdlog大多数情况下直接作为Header-only库使用:从 GitHub 下载源码,将include目录下的spdlog文件夹放入你的项目头文件路径中。依赖fmt库(spdlog 内部内置了 fmt,定义#define SPDLOG_FMT_EXTERNAL可使用外部 fmt)。头文件 #include "spdlog/spdlog.h" #include "spdlog/sinks/stdout_color_sinks.h" // 控制台带颜色 #include "spdlog/sinks/