5、spdlog使用---spdlog的sinks

本文介绍了C++日志库spdlog的Sinks,它们负责将日志写入不同的目标,如文件、控制台等。Sinks分为多线程(_mt)和单线程(_st)两种,包括rotating_file_sink、daily_file_sink、simple_file_sink等,还提到了如何手动创建和自定义Sinks。
摘要由CSDN通过智能技术生成

Sinks 是实际将日志写入目标的对象。每个 Sink 应该负责一个单一的目标(例如文件、控制台、数据库),并且每个 Sink 都有其自己的私有 formatter 对象实例。

每个 logger 包含一个 std::shared_ptr<sink> 的向量。在每次日志调用时(如果日志级别合适),logger 将在其中的每个 sink 上调用 "sink(log_msg)" 函数。

spdlog 的 sink 在名称后添加 _mt(多线程)或 _st(单线程)后缀,以表示线程安全性。虽然单线程的 sink 不能在多个线程中同时使用,但它们更快,因为不使用锁定。

可用的 Sinks
注意:这仅是部分列表。有关完整的 sink 列表,请访问 sinks 文件夹。

注意:从版本 1.5.0 开始,如果需要,spdlog 将创建包含日志文件的文件夹。在此之前,文件夹必须手动创建。

rotating_file_sink

当达到最大文件大小时,关闭文件,将其重命名,并创建一个新文件。最大文件大小和最大文件数量都可以在构造函数中进行配置。

// create a thread safe sink which will keep its file size to a maximum of 5MB and a maxi
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Knowledgebase

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值