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

2023-10-27

前后从小白到勉强能够使用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,所以你的程序可能就一直返回异常啊之类的东西。

 

 

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

 

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 理解DDoS防护本质:基于资源较量和规则过滤的智能化系统

    本文由 网易云 发布 随着互联网生态逐渐形成 DDoS防护已经成为互联网企业的刚需要求 网易云安全 易盾 工程师根据DDoS的方方面面 全面总结DDoS的攻防对抗 1 什么是DDoS DDoS全称Distributed Denial of
  • steam deck科普、上手教程及模拟器配置指南

    steam deck 前言 早在2021年得时候 坊间就开始流传steam deck这个东西要问世了 但是中途跳了几次票 直到2022年2月 第一批steam deck才正式面向大众玩家 在熟悉steam deck之前 我们有必要了解如下的
  • VS2019 + libcurl5.7.0 + openssl3.0.5 简易编译教程

    VS2019 libcurl5 7 0 openssl编译配置 1 用途 工作用到C 对求高德地图发送https请求 进行逆地址分析 2 文件包下载 2 1 window的openssl3 0 5EXE安装包 链接 exe安装包 2 2 下
  • numpy求平均值

    本文转自链接 https www cnblogs com yibeimingyue p 11413295 html 1 对数组求平均值 import numpy as np a np array 1 2 3 4 print a print
  • C语言问题汇总

    C语言问题汇总 排序方法 冒泡排序 降序排序 作业 从文件中读取内容 字符写入文件 结构体数组 以二进制形式写入文件并读取 将字符串写入文件 并从文件中读取 查找字符在字符串中的位置 字符串链接 不使用strcpy函数 使用strcpy函数
  • 俄罗斯方块C++代码(转载他人代码)

    include
  • (ctf)攻防世界web模块020web2

    题目 首先来到给定的地址 题意很明确 miwen是加密之后的字符串 我们只需要逆向解密出miwen就能得到flag 我们先来代码审计 o strrev str strrev 函数是字符串的倒置 for 0 0 0
  • java.io.IOException: Connection reset by peer问题解决

    java io IOException Connection reset by peer问题解决 今天检查日志 发现 ClientAbortException java io IOException Connection reset by
  • font-spider(字蛛)的正确打开方式

    前言 最近在部署vue项目之后 在打开网页的时候 ttf文件下载时间实在是太久了 在经过合理的运用搜索引擎之后 可能自己的固化思维消化不了大佬们给出的方案 于是在他们的基础之上做了一些小小的改动 便叙文记之 1 引入font spider的
  • BigDecimal 前端丢失精度的问题解决

    问题描述 后端数字是85 00 但是前端显示85 SQL语句 select cast 字段 as decimal 10 2 value 这里已经保留两位小数了 from table where 实体类 这里是关键 注意不是 JSONFiel
  • java 的JDBC操作

    JDBC java数据库连接 提供了一套数据库操作标准 这些标准需要各个数据库厂商去实现并提供一个驱动程序 目前常见的4类JDBC驱动程序 JDBC ODBC 直接利用微软的ODBC进行数据库连接操作 性能低 一般不推荐 JDBC本地驱动
  • 前端笔记

    发布在github的笔记 下载慢 所以我放到csdn上面了 源地址 https github com overcomputer JavaScript 源地址 关注 大佬发布在github的笔记 下载慢 所以我放到csdn上面了 源地址 ht
  • Android HandlerThread 总结使用

    前言 以前我在 Android Handler Loop 的简单使用 介绍了子线程和子线程之间的通信 很明显的一点就是 我们要在子线程中调用Looper prepare 为一个线程开启一个消息循环 默认情况下Android中新诞生的线程是没
  • 一招教你学会使用AD更改PCB板子尺寸

    使用原理图生成PCB后 Altium Designer会根据原理图大小自动生成一块黑色区域 还有一个在禁止布线层的方框 还有两段标注板子大小的线 下面说一下如何更改黑色区域的大小 还有如何精确确定板子尺寸 比如使其为长宽都为整数 1 调整
  • 【浙工商期末报告】研一R语言期末作业(源代码分享)

    目录 研一R语言期末作业 源代码分享 一 作业回顾 1 1 计算t值 1 2 绘图 二 结果展示 2 1 计算t值 2 2 绘图 三 源代码分享 一 作业回顾 1 1 计算t值 1 2 绘图 二 结果展示 2 1 计算t值 1 1 9379
  • 【Flutter 2-9】Flutter手把手教程UI布局和Widget——弹性布局控件Flexible

    作者 弗拉德 来源 弗拉德 公众号 fulade me Flexible Flexible可以帮助Row Column Flex的子控件充满父控件 它的用法很灵活 也具有权重的属性 跟Flexible相类似的控件还有Expanded 先来看
  • MVC模式和三层架构

    MVC模式和三层架构 MVC 模式和三层架构是一些理论的知识 将来我们使用了它们进行代码开发会让我们代码维护性和扩展性更好 MVC模式 MVC是一种分层开发的模式 其中 M Model 业务模型 处理业务 V View 视图 界面展示 C
  • vscode软件打开失败(闪退)---兼容性问题

    1 右击vscode 选择 兼容性疑难解答 2 选择 尝试建议的设置 3 测试程序 4 vscode自动打开 问题解决 5 关闭vscode 6 下一步即可
  • 香橙派 Orangepi Zero2配置网络SSH登录

    1 命令扫描周围的WIFI热点 nmcli dev wifi 2 接入网络命令 nmcli dev wifi connect WIFI名称 password WIFI密码 用ifconfig获取IP地址 3 选择SSH登录 4 输入密码后就
  • 关于应用spdlog日志库的一些学习心得

    前后从小白到勉强能够使用spdlog日志库前后就几天时间吧 到现在有时间好好静下来反思一下学习步骤 想想哪一步还能再继续改进 刚入手时 看到的代码都是以往的学长们动过的 代码阅读难度大 基本上是缺失太多的东西了 后面才发现可以从GitHub