• C++日志库spdLog


    一、基本使用

    0、描述

    spd就是speed的缩写,代表速度,主要是由c++11写的。

    支持异步回滚、单日记录、格式化等等;

    不需要链接库或动态库,直接源码使用;

    可创建多个不同的日志器;

    1、在官网下载源码

    https://github.com/gabime/spdlog

    2、解压

    include文件夹就是需要的源码

    3、将源码放在工程里

     4、例子:异步文件回滚日志

    #include "spdlog/spdlog.h"
    #include "spdlog/async.h"
    #include "spdlog/sinks/rotating_file_sink.h"
    int main(int, char *[])
    {
       //异步就一定需要线程或线程池+日志队列,这里给一个线程,队列10000个字节
        spdlog::init_thread_pool(10000, 1);
    //创建一个回滚日志,这里使用了工厂,类型是异步工厂,参数:日志名称、路径、文件大小、文件个数 auto file_logger
    = spdlog::rotating_logger_mt<spdlog::async_factory>("file_logger", "logs/basic-log.txt", 1024 * 1024 * 5, 10); int i = 0;
    //需要输出日志的等级 file_logger
    ->set_level(spdlog::level::debug); while (i < 1000000) { file_logger->debug("Async message #{}", i); i++; }
    //回收 spdlog::drop_all();
    return 0; }

     数字越小日志越新!

     5、获取某个日志器

    spdlog::get("file_logger")->info("loggers can be retrieved from a global");

     6、手动刷新

    logger->flush()

    PS:

    1、参考:

    官方wiki:https://github.com/gabime/spdlog/wiki/1.-QuickStart

    https://www.cnblogs.com/fishily/p/14431499.html

    https://blog.csdn.net/kai15058157346/article/details/113079579

    二、编译静态库

    1、下载解压源码并在源码根目录下新建build文件夹

     2、打开CMake Gui,并进行相关设置

     

    注意:本人使用了VS2015编译失败,VS2017成功

     3、生成解决方案

     4、打开VS2017,打开sln

     5、生成spdlog项目

     注意可以选择Debug和Release,各自生成,在build/Debug和build/Release下各自生成了lib静态库

    6、新建lib文件夹,放入两个lib

    7、手动将源码include文件夹拷贝出来,lib放在同一文件夹里,完成

    PS:

    1、格式设置

    https://blog.csdn.net/shizheng163/article/details/79418190

  • 相关阅读:
    Android开发-httpclient兼容性问题
    Android开发-新建线程崩溃
    git 通过nginx 无法clone
    再谈git的http服务-权限控制gitweb版(未成功)
    再谈git的http服务-权限控制hooks版
    git push报错:error: RPC failed; result=22, HTTP code = 413
    再谈git的http服务
    Android开发-自动更新
    Android开发-Android Studio使用问题解决
    mac-文本编辑器
  • 原文地址:https://www.cnblogs.com/judes/p/16028198.html
Copyright © 2020-2023  润新知