log库spdlog简介及使用

本文介绍了开源C++11日志库spdlog,它具有高性能、仅包含头文件等特性,并支持多种日志输出目标。 spdlog使用fmt库进行格式化,并提供异步日志记录、条件日志、自定义格式等功能。文中还包含了一个测试代码示例,帮助读者理解其用法。
摘要由CSDN通过智能技术生成
               

 spdlog是一个开源的、快速的、仅有头文件的C++11 日志库,code地址在 https://github.com/gabime/spdlog ,目前最新的发布版本为0.14.0。它提供了向流、标准输出、文件、系统日志、调试器等目标输出日志的能力。它支持的平台包括Windows、Linux、Mac、Android。

 spdlog特性:

 (1)、非常快,性能是它的主要目标;

 (2)、仅包括头文件;

 (3)、日志的格式化处理使用开源的fmt库(  https://github.com/fmtlib/fmt );

 (4)、可选的printf语法支持;

 (5)、非常快的异步模式(可选),支持异步写日志;

 (6)、自定义格式;

 (7)、条件日志;

 (8)、多线程/单线程日志;

 (9)、各种日志目标:可对日志文件进行循环输出;可每日生成日志文件;支持控制台日志输出(支持颜色);系统日志;Windows debugger;较容易扩展自定义日志目标;

 (10)、支持日志输出级别:阈值级别既可以在运行时也可以在编译时修改。

 以下是测试代码,主要来自spdlog/example/example.cpp:

#include "funset.hpp"#include <iostream>#include "spdlog/spdlog.h"#include "spdlog/fmt/ostr.h"namespace spd = spdlog;int test_spdlog_console()try {  // Console logger with color  auto console = spd::stdout_color_mt("console");  console->info("Welcome to spdlog!");  console->error("Some error message with arg{}..", 1);  // Conditional logging example  console->info_if(true, "Welcome to spdlog conditional logging!");  // Formatting examples  console->warn("Easy padding in numbers like {:08d}", 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值