• 关于spdlog的说明


    各位看官,本人最近正在致力于研究log的写法,其中我看了一下我们公司,用的是github上的一个开源项目spdlog,所以我就研究了一下,并且试着模仿了一下我们公司打log的方法,现在就和各位看官一起分享一下。

    一、Spdlog的定义以及他的优点

    二、Spdlog如何移植

    三、SpdLog的基本结构特性

    四、我这边是如何使用

     

     

    一、Spdlog的定义以及他的优点

     

    Spdlog是一款开源的,基于c++的的日志库,简单来说,只要我们采用了这个开源库,我们就可以随意的来记录日志了(这个日志包括再stdout上显示和再文件中显示)。它有如下特性:

    优点:1、它是一款轻量级别的库,我全部下载完也不过几百k(压缩包)。

              2、他的使用条件非常灵活,可以单线程用,也可以多线程用(不过我还没玩过多线程),

              3、使用形式非常灵活,就是你想把log形式定义成什么样的都可以。

              4、输出形式灵活并且效果很好,比如你可以设置成日志一天一清,也可以把日志设置成多个文件的,另外输入的日志也可以设置颜色,这也是我最喜欢的部分。

              5、日志分层:日志分成INFODEBUGTRACEERROR等多种分层,我们可以根据需要设置自己每一条日志的等级。

              6、我觉得开发这个的作者很贴心,把所有的使用方法都写成例子让你去看。

     

    缺点:1、它必须是基于c++11以上版本的(其实我觉得这都不能算是缺点)

    二、spdlog如何移植

    我觉得spdlog移植的方法也很容易,只需要按照三个步骤:(我是linux系统的)

    1、下载,放入linux系统

    2、解压

    3、创建build,进入build目录,执行cmake .. &make install(这里要说明的是一定要用make install,如果用make -j,如果只是把include放进去,会提示你没有权限)。好了,这样我们的spdlog就移植完成了。

    三、spdlog的基本结构特性

    我们从两个方面来说明:

    横向方面:根据我们输入日志的不同我们创建的类型也有所不同(为了节省时间,我就不写参数了)

    1、创建当天日志

    spdlog::daily_logger_mt

    说明:该日志创建成功以后,写入的日志只在当天生效,简单来说,就是在一天的某个时间点(这个函数中有参数可以设置)就会把日志清空。

    2、创建多个文件日志

    spdlog::rotating_logger_mt

    说明:该日志创建成功以后,如果我们写入的日志大小大于某个值(这个值参数当中会有设置)会创建一个新文件,然后将新的日志写入到新文件当中。另外还要注意的是创建的文件数目也可以设定。

    3、创建单个文件日志

    spdlog::basic_logger_mt

    说明:该日志创建成功以后,我们只会创建单个文件,所有日志都会一直再这个文件中累加。

    4、输出终端

    spdlog::stdout_color_mt

    说明:该日志创建成功以后,我们的日志会自动打印到终端上,另外,每一种等级的日志颜色都会有所不同。

     

    当然,example中提供的方法还远不止这几种,比如二进制的输出,异步的输出等等,不过我这里能用到的就是这些了。

    纵向:

    1、创建日志

    2、设置level的值(默认是info

    3、使用函数打印

     

    四、我这边如何使用

    1、创建日志的值(我这边默认的是rotating

    2、设置log等级和pattern

    3、使用宏封一层

    4、直接使用

     

    总结:今天聊了spdlog的特性,安装,基本数据类型和使用,总体来说我觉得简单,轻便,使用起来容易上手,真的是一个很不错的代码。

  • 相关阅读:
    元组,字典
    for循环补充,变量和不可变量,数字类型,字符串类型,列表类型
    流程控制之while循环,for循环
    运算符,流程控制之if判断
    变量,常量,基本数据类型、运算符
    蓝桥杯--算法提高 排列数 (简单dfs)
    蓝桥杯-- 历届试题 核桃的数量 (gcd)
    hdoj--1272--小希的迷宫(并查集)
    zzulioj--1769--去师院的旅程:能怎么走(三)(0.0)
    zzulioj--1638--Happy Thanksgiving Day
  • 原文地址:https://www.cnblogs.com/songyuchen/p/14208795.html
Copyright © 2020-2023  润新知