spdlog简单好用的日志库

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

转载自:https://blog.csdn.net/fengbingchun/article/details/78347105

spdlog是一个开源的、快速的、仅有头文件的C++11 日志库,code地址在 https://github.com/gabime/spdlog ,目前最新的发布版本为0.14.0。它提供了向流、标准输出、文件、系统日志、调试器等目标输出日志的能力。它支持的平台包括Windows、Linux、Mac、Android。

spdlog特性:

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

(2)、仅包括头文件;

(3)、日志的格式化处理使用开源的fmt库(  https://github.com/fmtlib/fmt );

(4)、可选的printf语法支持;

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

(6)、自定义格式;

(7)、条件日志;

(8)、多线程/单线程日志;

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

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

例子:就运行下载代码里的spdlog-master\example例子就可以运行

由于只需要包含头文件就可以使用,是非常方便的

用vs2013 出现的问题:

1.error C2610: “spdlog::details::async_log_helper::async_msg::async_msg(spdlog::details::async_log_helper::async_msg &&)”: 不是可默认为的特殊成员函数

2  error C2610: “spdlog::details::async_log_helper::async_msg &spdlog::details::async_log_helper::async_msg::operator =(spdlog::details::async_log_helper::async_msg &&)”: 不是可默认为的特殊成员函数

找到这两个错误,发现是

这个类async_log_helper两个函数的定义,不知道是vs2013(vs2015没这个问题)对C++新标准支持的问题还是default的问题,只要把这两个函数不使用default关键字,实现就行了

在http://www.codeforge.cn/read/471938/async_log_helper.h__html

找到anync_log_helper.h文件的实现,修改如下:


再运行example成功。

备注:也可以不按照这个文件改,只需要把这两个函数实现即可

这是我自己修改的结果:


example的运行截图:


具体用法参考例子就可以满足基本使用了

格式控制:

转载自:https://blog.csdn.net/shizheng163/article/details/79418190

上面例子里:


使用这个设置自定义的日志格式:



更深层次的学习,待后续............

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值