编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

spdlog: C++快速的日志库(springmvc aop实现日志管理)

wxchong 2024-07-06 00:42:38 开源技术 12 ℃ 0 评论

一、主要特性:


spdlog 是一个快速的 C++ 日志库,只包含头文件,兼容 C++11。

  • (01)非常快,只包含头文件;
  • (02)无需依赖第三方库;
  • (03)支持跨平台 - Linux / Windows on 32/64 bits;
  • (04)支持多线程;
  • (05)可对日志文件进行循环输出;
  • (06)可每日生成日志文件;
  • (07)支持控制台日志输出
  • (08)可选的异步日志
  • (09)支持日志输出级别
  • (10)可自定义日志格式

二、快速体验:

#include "spdlog/spdlog.h"

// > 编译: g++ -Ispdlog/include -Lspdlog/build demo1.cpp -o demo1 -lspdlog
// 因为是静态库,所以可以直接运行,不用配置LD_LIBRARY_PATH
// > 运行: ./demo1
int main() 
{
    spdlog::info("Welcome to spdlog!");
    spdlog::error("Some error message with arg: {}", 1);
    
    spdlog::warn("Easy padding in numbers like {:08d}", 12);
    spdlog::critical("Support for int: {0:d};  hex: {0:x};  oct: {0:o}; bin: {0:b}", 42);
    spdlog::info("Support for floats {:03.2f}", 1.23456);
    spdlog::info("Positional args are {1} {0}..", "too", "supported");
    spdlog::info("{:<30}", "left aligned");
    
    spdlog::set_level(spdlog::level::debug); // Set global log level to debug
    spdlog::debug("This message should be displayed..");    
    
    // change log pattern
    spdlog::set_pattern("[%H:%M:%S %z] [%n] [%^---%L---%$] [thread %t] %v");
    
    // Compile time log levels
    // define SPDLOG_ACTIVE_LEVEL to desired level
    SPDLOG_TRACE("Some trace message with param {}", 42);
    SPDLOG_DEBUG("Some debug message");
}

输出效果为:

三、怎么编译安装?:


  • 限于篇幅,如需了解可以留言或者关注私信。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表