关于应用spdlog日志库的一些学习心得

前后从小白到勉强能够使用spdlog日志库前后就几天时间吧,到现在有时间好好静下来反思一下学习步骤,想想哪一步还能再继续改进

刚入手时,看到的代码都是以往的学长们动过的,代码阅读难度大,基本上是缺失太多的东西了,后面才发现可以从GitHub上面直接扒拉源码下来。

首先讲讲应用spdlog的基本配置(非常简单且方便)

首先在Github上面找到spdlog的项目,别人都帮你写好了日志库了,其实后面的工作就是读懂代码和使用代码就好了,

其次,扒拉源码到自己电脑上面去

 下好了后注意,找到include文件夹,里面是c++的头文件库,关键的东西都在里面,把include下一级的spdlog文件复制粘贴到,自己电脑的c++编译路径中include文件夹的下面去(这要求大家一定要知道自己c++环境的配置,要知道自己的编译路径在哪里)

 

例如,这是我的路径,放到配置好的编译路径下

 

这样配置好了后,就可以很方便愉快的进行我们的代码构架了,你就可以直接调用

#include<spdlog/spdlog.h> 等一系列的库了,超级方便,简单易懂的操作。

后面就是代码研读部分,作为一个萌新刚入Github,我不知道Github下面就是代码使用模板,在如何使用,如何调试spdlog上面花费了大量的时间,后面从各种途径如CSDN呀,知乎呀等渠道去了解如何使用,功能是什么,语法是什么,兜兜转转了一大圈,才发现,看那些有啥用啊?基本上都是别人消化过后的东西了,还不如自己去看源码,看官方注释,

虽然本人英语不是很好,但是像下面这种的还是读的懂的,语法结构,使用方法我就不做特别描述,如果只是简单的学习使用spdlog的话,看完官方Usage sample就够了,如果还想要自己搞出更多功能,建议直接去读spdlog.h里面的函数定义,再进入函数去看如何实现,自己写一个玩玩也无所谓。

 

下面是自己乱搞出来的东西,由于不是很会用c++的命名空间这里面用的是 using namespace std

头文件引用,毫无新意

 

在这里面简单写了一个获取时间的函数,把logs文件建立的路径都写好了

同时给每天文件上限和单个文件空间上限也写好了

 写了一个死循环,让他在远程服务器上面跑,看看跑一天大概就干多少叭,总体来说没什么大问题,和预期的一模一样,但是要注意,后面一定要加上

spdlog::drop_all();

这句话,能够关闭当前的file_logger指针,logger使用完但是程序没有跑完,如果不调用drop函数去释放logger对象,则在程序中就无法再次建立同名的logger,所以你的程序可能就一直返回异常啊之类的东西。

 

 

后面就是实现上面的函数了,没什么东西,可以理解理解,知道是个什么样的用途就好了,没必要去搞懂,这个是啥是啥的。

 

总的来说,看懂了官方给的文档,我们就可以改造了,拿别人写好的轮子,我们就可以跑了.

收获还是很大的,起码对与学习方法有了一个比较新的认识。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
spdlog是一个快速、异步的C++日志,支持多线程和跨平台,具有简单易用的接口和高性能的日志记录能力。以下是spdlog的一些主要特点: 1. 快速:spdlog使用高效的缓冲区实现快速的日志记录,可以轻松处理高负载的日志记录场景。 2. 异步:spdlog支持异步日志记录,可以将日志写入缓冲区后立即返回,不会阻塞主线程。 3. 多线程:spdlog可以安全地在多个线程中使用,支持多个线程同时进行日志记录,且不需要额外的同步机制。 4. 跨平台:spdlog可以在多个平台上运行,包括Windows、Linux、OS X等。 5. 简单易用:spdlog提供简洁明了的API,可以轻松地实现日志记录功能。 以下是spdlog的使用示例: ```cpp #include "spdlog/spdlog.h" void log_example() { // 创建一个控制台日志记录器 auto console = spdlog::stdout_color_mt("console"); // 创建一个文件日志记录器 auto file = spdlog::basic_logger_mt("file_logger", "logs/mylogfile.txt"); // 设置日志记录级别 console->set_level(spdlog::level::info); file->set_level(spdlog::level::trace); // 记录日志 console->info("Hello, spdlog!"); file->trace("This is a trace message."); } ``` 以上代码演示了如何创建一个控制台日志记录器和一个文件日志记录器,并设置不同的日志记录级别,最后分别记录了一条信息和一条跟踪信息。 更多关于spdlog的使用说明,请参考spdlog的官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值