spdlog中的异步日志方案

日志方案

同步日志方案:立即输出日志记录的方案才能继续执行其他任务。

异步日志方案:先抛出一个日志记录的任务到某个地方,不马上执行打印也不影响往下执行其他任务。

二者关键区别是产生日志记录并调用相关的日志任务接口之后,是否需要马上打印才能往下执行其他任务。

使用多线程的日志方案不一定是异步日志,多线程也能通过锁实现日志的串行打印。

使用单线程的也不一定是同步日志方案,也有可能通过网络通信将日志异步地抛给其他节点完成打印日志的任务。

Spdlog介绍

Spdlog是性能极高的C++日志库。

Spdlog的特点

零成本抽象:spdlog主要编程语言是C++,C++的设计理念之一就是零成本抽象。零成本抽象主要通过内联函数和模板实现。抽象意思是先放置一个大致的框架在代码中,等到真正使用的时候稍加输入和调用就能迅速地构建出要使用的复杂实例或数据结构,不用从0开始编写。零成本指的是相比起用C语言从0开始构建的实例,性能成本几乎一样,没有额外的资源开销,同时大大减少了开发成本。

可异步进行日志记录:把日志信息发送到线程池异步地进行处理,减少对主线程的影响。用户可以自定义线程的个数与队列的大小。如果队列已满可选:抛弃部分日志或者阻塞。

高效格式化:类似python的.format方法。

Spdlog的输出控制

Spdlog日志级别,日志级别非spdlog独有,由低到高(重要等级从轻到重):trace、debug、info、warn、error、critical。

S

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值