c++ 日志输出库 spdlog 简介

Posted 老樊Lu码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ 日志输出库 spdlog 简介相关的知识,希望对你有一定的参考价值。

      spdlog是一个开源的、快速的、仅有头文件的C++11 日志库。它提供了向流、标准输出、文件、系统日志、调试器等目标输出日志的能力。它支持的平台包括Windows、Linux、Mac、androidios

官方参考:https://github.com/gabime/spdlog/wiki/8.-Tweaking

1、下载源码

代码地址在 https://github.com/gabime/spdlog

1).非常快,性能是它的主要目标;

2).仅包括头文件;

3).日志的格式化处理使用开源的fmt库

4).可选的printf语法支持;

5).非常快的异步模式(可选),支持异步写日志;

6).自定义格式;

7).条件日志;

8).多线程/单线程日志;

9).各种日志目标:可对日志文件进行循环输出;可每日生成日志文件;支持控制台日志输出(支持颜色);系统日志;Windows debugger;较容易扩展自定义日志目标;

10).支持日志输出级别:阈值级别既可以在运行时也可以在编译时修改。

2、example解析

下载压缩包并解压:使用visual studio 打开vcxproj后缀的项目文件

在解决方案中找到example.cpp,这个源文件例举了spdlog的各种用法:

首先需要包含spdlog的头文件

 并且要声明spdlog的命名空间

1、set_pattern 自定义日志格式

官方参考:3. Custom formatting · gabime/spdlog Wiki · GitHub

可以为所有的log制定格式,也可以为指定的log制定格式,注意下面代码中rotating_logger为指针变量。

 

 详细的格式说明在github上有,在此截图如下:

 

 

以上是关于c++ 日志输出库 spdlog 简介的主要内容,如果未能解决你的问题,请参考以下文章

spdlog源码分析

spdlog 基本结构分析

使用 spdlog (C++) 记录,记录器未将日志写入文件

关于c++的glog和spdlog的性能对比

日志类库框架

在 CMake 项目中找不到 spdlog.h