3、spdlog使用---创建spdlog日志记录器

每个日志记录器包含一个或多个 std::shared_ptrspdlog::sink 的向量。

在每次日志调用(如果日志级别正确)时,日志记录器会在每个 sink 上调用 sink(log_msg) 函数。

spdlog 的 sinks 带有 _mt(多线程)或 _st(单线程)后缀,用于指示线程安全性。虽然单线程 sinks 不能从多个线程同时使用,但它们可能更快,因为不会使用锁定。

使用工厂函数创建日志记录器

// 创建并返回一个多线程控制台日志记录器的 shared_ptr。
#include "spdlog/sinks/stdout_color_sinks.h"
auto console = spdlog::stdout_color_mt("some_unique_name");

这将创建一个控制台日志记录器,将其注册到 spdlog 的全局注册表中,使用 "some_unique_name" 作为其标识,并将其作为 shared_ptr 返回。

使用 spdlog::get("...") 访问日志记录器 可以使用线程安全的 spdlog::get("logger_name") 从任何地方访问日志记录器,它会返回一个 shared pointer。

注意:spdlog::get 可能会减慢代码的运行速度,因为它会锁定互斥锁,所以请谨慎使用。建议保存返回的 shared_ptrspdlog::logger 并直接使用它,至少在热门代码路径中如此。

一个很好的方法是在构造函数中设置一个 shared_ptrspdlog::logger 类型的私有成员:

class MyCl
QT5.11-spdlog使用教程 参考代码: spdlog的简单使用 - 代码先锋网 (codeleading.com)https://www.codeleading.com/article/9275300334/ 阅读详情

相关推荐

spdlog C++日志库使用教程

Spdlog是一个快速、异步、线程安全的C++日志库,他可以方便地记录应用程序的运行状态,并提供多种输出格式。安装教程可以参考:https://blog.youkuaiyun.com/Harrytsz/article/details/144887297Spdlog的优点:只包含头文件速度很快无需依赖第三方库支持跨平台支持多线程—线程安全可对日志文件进行循环输出可每日生成日志文件可支持控制台日志输出可选的异步输出可定义日志格式1、日志级别。

二爷的博客 1925

[C++]-日志记录库SPDLog简介

文章目录spdlog库日志记录槽sink日志记录器logger输出格式pattern对齐方式截断字符串格式化fmtFormat Specificationspdlog使用异常处理logger基础用法stdout日志文件日志基本文件循环文件每日文件示例 spdlog是一款开源的、快速的日志库。 spdlog库 spdlog是基于C++11实现的一款纯头文件的日志管理库(git地址:https://github.com/gabime/spdlog,API说明:https://spdlog.docsforge.c

飞鹰技术 1万+

spdlog源码使用封装

spdlog源码使用封装

tyhenry的专栏 1473

Qt使用spdlog日志

文章目录创建日志创建一个支持多线程的日志输出打印到Concole日志等级设置日志等级输出格式设置输出格式关闭日志 创建日志 创建一个支持多线程的日志 size_t max_size = 1024 * 10; std::string basename = "testLog.log"; std::shared_ptr<spdlog::logger> file_logger; //日志的文件指针 file_logger = spdlog::rotating_logger_mt("2232", bas

deroy 3299

qt封装的spdlog日志库

简易c++日志库 可以支持基本的日志库使用,同时支持向每日日志和循环日志中记录日志内容 使用spd的多线程模式,线程安全, spdlog直接使用头文件,无cpp,支持后续的进一步开发 每日日志:在单独的文件夹中生成 每天自动生成日志,现策略为检测到文件数量超过30个时自动删除之前的文件 循环日志:在单独的文件夹中生成 日志文件存储在固定的文件夹中,每个5mb,最多存储10个,存储满后会向之前的文件中存储日志数据

QT-SpdlogTest.rar

QT-源码编译spdlog,里面有使用案例,可供参考。

Qt spdlog 1.5.0第三方日志模块测试项目

本文将介绍如何使用spdlog 1.5.0创建满足以下要求的日志系统: 1、自定义文件名格式:yyyyMMdd_hhmmss_毫秒.log,不使用spdlog提供的日志轮转功能 spdlog::sinks::rotating_file_sink_mt,采用自定义custom_rotating_file_sink; 2、保留最近10个日志文件,每个日志文件大小限制为1MB。

Transformer模型在语义通信中的实战应用:从信源编码到端到端优化

本文深入探讨了Transformer模型在语义通信中的实战应用,从信源编码到端到端优化。文章分析了Transformer凭借其强大的全局依赖建模能力,如何成为实现高效语义提取与传输的理想架构,并提供了构建可端到端训练系统的具体实现思路与评估方法,旨在为下一代智能通信系统提供技术参考。

o9p0q1的博客 689

littlefs系列:wear leveling

wear leveling的功能是通过block alloctor实现的。littlefs通过两个方法实现磨损均衡: 1) 检测和恢复bad blocks 2)通过dynamic blocks均衡磨损 检测和恢复bad blocks和block alloctor的关系并不紧密,主要依靠文件系统本身来检测坏块并标记。在littlefs中,检测坏块主要是通过写后回读并比较的方式实现的,如果数据不一致则说明是一个坏块。一旦检测到了坏块就要进行恢复。 如果是写入错误,因为数据才RAM中还有备份,因此需.

nstcl的博客 2567

uniapp自定义tabbar闪屏?3步搞定原生tabbar隐藏+自定义占位(附完整代码)

本文针对UniApp开发中自定义TabBar切换页面闪烁的痛点,提供了一套根治方案。通过隐藏原生TabBar并利用自定义组件进行视觉占位,巧妙结合原生切换的无闪烁优势与自定义设计的灵活性。文章详细解析了闪屏根源,并附上完整的page.json配置与代码实现,帮助开发者彻底解决此问题,提升小程序应用质感。

postgres8guard的博客 1528

Sentence-BERT 语义相似度双塔模型

论文介绍 发表:2019,EMNLP 论文题目:《Sentence-BERT:sentence embeddings using siaese BERT-networks》 论文地址:https://arxiv.org/abs/1908.10084 Github:https://github.com/UKPLab/sentence-transformers 适用领域: 句向量生成 语义相似度计算 语义搜索 无监督任务(聚类) 1 概述 在20年之前的各种预训练模型中,比如bert,XLNet,Alb

weiyaner的博客 9192

FFTW3库在Windows中的安装和使用

Windows 32位平台下载:FFTW Installation on Windows。

weixin_45397344的博客 950

STM32 stack_size和heap_size大小设置的意义

在使用STM32编程时,一般情况下我们不会关注堆栈空间的大小,因为在STM32的启动文件中,已经帮我们预先设置好了堆栈空间的大小。如下图所示的启动代码中,Stack栈的大小为:0x400(1024Byte),Heap堆的大小为:0x200(512Byte)。 1、若工程中使用的局部变量较多,定义的数据长度较大时,若不调整栈的空间大小,则会导致程序出现栈溢出,程序运行结果与预期的不符或程序跑飞。这时我们就需要手动的调整栈的大小。 2、当工程中使用了malloc动态分配内存空间时,这时分配.......

zxm8513优快云博客 3万+

轨迹优化 | 基于ESDF的共轭梯度优化算法(附ROS C++/Python仿真)

共轭梯度法的核心原理是求解优化问题的共轭向量组作为优化方向,由于优化方向间彼此正交,故每次迭代只需沿着一个方向寻优而互不影响。本文设计基于ESDF的障碍约束、曲率约束和平滑约束,基于ROS C++和Python提供了共轭梯度法的轨迹优化实践案例

FRIGIDWINTER的博客 1万+

数仓建模—数据语义层

如今,企业产生大量数据,需要以正确的方式进行分析才能做出重要决策。数据可能来自多个来源并采用不同的格式,这使得清楚地了解其含义和重要性成为一项挑战。这就是语义层的用武之地。语义层存在于数据仓库和最终用户使用的应用程序之间。它为用户提供了简化且一致的数据视图,无论其基础数据源的复杂性如何。该逻辑层有助于映射物理数据结构以创建概念数据模型。它定义了数据元素之间的所有规则和关系,并以业务术语提供了数据的通用词汇表。然后,用户可以轻松地与数据进行交互,而无需了解其数据源的技术知识。

7万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

上一篇: 2、spdlog使用---spdlog的线程安全
下一篇: 4、spdlog使用---spdlog自定义日志格式
Knowledgebase
博客等级 码龄3年 268粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

Knowledgebase

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

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

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

打赏作者

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

抵扣说明:

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

余额充值