一个仅含头文件的 C++11 库,用于把 C++ 类型和函数暴露给 Python,常用于为现有 C++ 代码生成 Python 绑定。
gabime/spdlog
快速的 C++ 日志库,支持格式化输出、异步模式以及轮转文件、控制台、syslog 等多种输出目标。
- Star
- 29,703
- Fork
- 5,341
- 未关闭 Issue
- 58
- 最近提交
- 18小时前
这是什么?
spdlog 是一个 C++ 日志库,用于把格式化后的日志消息输出到多种目标。它既可以作为纯头文件库直接引入,也可以通过 CMake 编译使用,消息格式化基于 fmt 库实现。
日志可以写入轮转文件、按日分割的文件、带颜色的控制台、syslog、Windows 事件日志、Windows 调试器以及 Qt 控件。日志级别支持运行时和编译期修改,也可以通过命令行参数或环境变量加载。可选的异步模式会把输出工作交给后台线程池处理;回溯缓冲区则会保存最近的调试消息,便于在出错时集中输出。
该库支持 Linux、各类 BSD、Solaris、AIX、Windows、macOS 和 Android,并可通过多个常见包管理器安装。
核心功能
- 01支持纯头文件或通过 CMake 编译使用
- 02基于 fmt 的消息格式化,支持自定义输出模板和自定义类型
- 03提供轮转文件、按日文件、控制台、syslog 和 Windows 事件日志等输出目标
- 04支持带后台线程池的异步日志
- 05日志级别可在运行时或编译期控制,并可从环境变量或命令行加载
- 06回溯缓冲区可在需要时输出最近的调试日志
适用场景
- 为 C++ 服务端或桌面应用添加分级日志
- 在长期运行的服务中把日志写入轮转文件
- 通过异步日志器处理大量日志,减少对业务线程的影响
- 在系统服务中把日志输出到 syslog 或 Windows 事件日志
快速上手
- 1
克隆仓库
git clone https://github.com/gabime/spdlog.git - 2
进入目录并创建构建文件夹
cd spdlog && mkdir build && cd build - 3
使用 CMake 配置并构建
cmake .. && cmake --build .
使用前须知
- 元数据中未明确标识许可证,使用前请查看仓库中的许可证文件。
收录于专题
标签
常见问题
- spdlog 是什么?
- 快速的 C++ 日志库,支持格式化输出、异步模式以及轮转文件、控制台、syslog 等多种输出目标。 spdlog 是一个 C++ 日志库,用于把格式化后的日志消息输出到多种目标。它既可以作为纯头文件库直接引入,也可以通过 CMake 编译使用,消息格式化基于 fmt 库实现。
- spdlog 可以免费使用吗?用的什么许可证?
- spdlog 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- spdlog 还在维护吗?
- 活跃维护中。spdlog 最近一次提交是在 2026年10月24日。
- spdlog 适合用来做什么?
- 为 C++ 服务端或桌面应用添加分级日志 在长期运行的服务中把日志写入轮转文件 通过异步日志器处理大量日志,减少对业务线程的影响 在系统服务中把日志输出到 syslog 或 Windows 事件日志
- spdlog 怎么安装和运行?
- 克隆仓库: git clone https://github.com/gabime/spdlog.git 进入目录并创建构建文件夹: cd spdlog && mkdir build && cd build 使用 CMake 配置并构建: cmake .. && cmake --build .
- 在哪里获取 spdlog?
- 源代码和安装说明在 GitHub 上:https://github.com/gabime/spdlog
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1.8万2331C++Other更新于 12小时前
一个 C++11 单头文件库,用于构建 HTTP/HTTPS 服务端和客户端,采用阻塞式 socket I/O。
1.7万+2 本周2775C++MIT更新于 前天
纯头文件的 C++ 库,快速且精确地把字符串解析为 float、double 和整数,实现 from_chars 接口。
2135+1 本周200C++Apache-2.0更新于 6天前
面向 C++17 的超低延迟异步日志与指标库,将格式化和 I/O 交给后台线程处理。
3069+4 本周274C++MIT更新于 18小时前
一个仅头文件的 C++11 库,用类似 STL 的语法在 C++ 中解析、构造、操作和序列化 JSON。
5.1万+9 本周7510C++MIT更新于 13小时前
微软维护的开源 C/C++ 包管理器,可在 Windows、macOS 和 Linux 上安装并构建第三方库。
2.8万7765CMakeMIT更新于 昨天