spdlog日志安装与使用

spdlog是一个开源的且只需要头文件即可使用的跨平台日志库,适用于c++11版本。

1.安装步骤

# 1.源码下载
git clone https://github.com/gabime/spdlog
# 2.拷贝头文件
cp -rf spdlog/include/spdlog /usr/include/

2.使用举例

测试代码如下:

#include <iostream>
#include <memory>
#include <string>
#include "spdlog/spdlog.h"
#include "spdlog/sinks/daily_file_sink.h"
using namespace std;

/*
 * 日志级别
 * trace 0
 * debug 1
 * info 2
 * warn 3
 * error 4
 * critical 5
 */
int main()
{
    // 创建文件名类似于: daily_log_2020_05-28.txt,如果程序不退出的话,就是每天2:30 am创建新的文件
    auto logger = spdlog::daily_logger_mt("spdlog", "daily_log.txt", 2, 20);
    // 设置日志级别,默认是info
    spdlog::set_level(spdlog::level::trace);
    // 写入log文件
    string s="success";
    logger->info("test s ={}",s);            //{}可以表示变量,跟printf的语法类似
    logger->trace("this is trace log");
    logger->debug("this is debug log");
    logger->info("this is info log");
    logger->warn("this is warning log");
    logger->error("this is a error log");   
    logger->critical("this is critical log");
    cout << "success" << endl;               //控制台输出
    return 0;
}

编译测试结果如下:

[root@centos7 spdlog_test]# g++ -std=c++11 -g log_test.cpp -o log_test
[root@centos7 spdlog_test]# ./log_test
success
[root@centos7 spdlog_test]# cat daily_log_2023-01-14.txt
[2023-01-14 19:34:44.418] [spdlog] [info] test s =success
[2023-01-14 19:34:44.418] [spdlog] [trace] this is trace log
[2023-01-14 19:34:44.418] [spdlog] [debug] this is debug log
[2023-01-14 19:34:44.418] [spdlog] [info] this is info log
[2023-01-14 19:34:44.418] [spdlog] [warning] this is warning log
[2023-01-14 19:34:44.418] [spdlog] [error] this is a error log
[2023-01-14 19:34:44.418] [spdlog] [critical] this is critical log
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值