51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

spdlog

spdlog快速入门

spdlog快速入门

厉飞雨 阅读(6) 评论(0) 赞(1)

123456 #include "spdlog/spdlog.h"int main(){ //Use the default logger (stdout, multi-threaded, colored) spdlog::info("Hello, {}!", "World");} ...

spdlog 基本结构分析

spdlog 基本结构分析

厉飞雨 阅读(4) 评论(0) 赞(1)

代码取自 V1.5.0, 代码堪称美学。 spdlog 是一个只有头文件的C++日志库,速度非常快,扩展性很强,更重要的是 社区活跃,文档齐全。 使用 参考官方的 example {fmt} 的格式使用也需要熟悉一下,毕竟也进 C++20 了,什么垃圾流就快扫进历史的垃圾堆吧 分析 这里选择了三个点来做分析: 提供的 日志格式 非常丰富,并且允许

超详细!spdlog源码解析(上)

超详细!spdlog源码解析(上)

厉飞雨 阅读(4) 评论(0) 赞(1)

学过C++后,写过和看过的C++代码还是比较有限,因此便想着学习一些开源项目。spdlog这个项目代码量不大,而且它所实现的功能理解起来也很容易,不需要太多的其他背景知识(毕竟是个日志库嘛),所以就选择了它。在学习这个项目期间,除了看源码外,也看了不少相关的博客,还有也尝试自己实现一个简单的日志库。最后实现了一大半,放弃了。毕竟跟着敲代码只是帮助更深刻理解源码的手段而不是目的。

超详细!spdlog源码解析(中)

超详细!spdlog源码解析(中)

厉飞雨 阅读(4) 评论(0) 赞(1)

接上一篇《超详细!spdlog源码解析(上)》,我们提到spdlog主要由logger(也包括async_logger)、sink、formatter、registry这四个部分组成。其中logger已经在上一篇中介绍了,没看过的朋友点击链接先把那篇看了。 本文将重点介绍sink这部分的代码。sink —— 接收log_msg对象,并通过formatter将对象中所含有的信息

超详细!spdlog源码解析(下)

超详细!spdlog源码解析(下)

厉飞雨 阅读(4) 评论(0) 赞(1)

没看过前面内容的,先看了再来,从这里去跳转: 超详细!spdlog源码解析(上) 超详细!spdlog源码解析(中) registry 我们先回顾一下之前的内容。spdlog主要由logger(也包括async_logger)、sink、formatter、registry这四个部分组成,我们在前两篇介绍了前面三个(logger、sink、formatter

spdlog中的完美转发

spdlog中的完美转发

厉飞雨 阅读(5) 评论(0) 赞(1)

spdlog是一个c++实现的日志库,代码中大量使用了c++11的特性,并且只需要头文件就可以使用,十分值得使用和研究。 下面这段代码是spdlog中的一个工厂函数,用来创建一个新的logger,里面用到了c++11之后才支持的完美转发。 12345678 template<typename Sink, typen...

spdlog日志库的使用

spdlog日志库的使用

厉飞雨 阅读(5) 评论(0) 赞(1)

在本文中,我们将讨论如何使用 Spdlog 日志库。Spdlog 是一个快速、异步、线程安全的 C++ 日志库,它可以方便地记录应用程序的运行状态,并提供了多种输出格式。 安装 Spdlog 可以通过源代码或包管理器进行安装。如果您使用的是 Linux ubuntu 系统,您可以使用包管理器安装 Spdlog: 1 sudo

spdlog日志库的实现原理

spdlog日志库的实现原理

厉飞雨 阅读(8) 评论(0) 赞(1)

Spdlog 的结构 Spdlog 由五个主要组件构成:Loggers、Sinks、Formatters、Async Logger 和 Registry。每个组件都扮演着不同的角色,共同协作记录并输出日志消息。 Loggers :是 Spdlog 最基本的组件,负责记录日志消息。在 Spdlog 中,一个 Logger 对象代表着一个日志记录器,应用程序可以使用 Lo

spdlog日志库的核心组件分析-logger

spdlog日志库的核心组件分析-logger

厉飞雨 阅读(5) 评论(0) 赞(1)

上一篇文章介绍了spdlog的五个主要组件,其中最重要是Logger、Sink和Formatter其中,Logger负责日志的记录和管理,Sink负责将日志输出到不同的目标(比如控制台、文件、网络等),Formatter负责将日志格式化为字符串。我们会在下面详细的介绍下它们。 Logger Logger是Spdlog日志库的核心组件,它负责记录和管理日志。Logger的定义

spdlog日志库的核心组件分析-sink

spdlog日志库的核心组件分析-sink

厉飞雨 阅读(4) 评论(0) 赞(1)

Sink负责将日志输出到不同的目标。Spdlog提供了多种Sink,包括stdout_sink(输出到控制台)、basic_file_sink(输出到文件)、syslog_sink(输出到syslog)等。 Sink组件的实现采用继承抽象类的方法,提供了灵活的扩展能力。 最基础的sink基类定义如下: 12345678910111213