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
长风破浪会有时,直挂云帆济沧海!
可通过下方链接找到博主
https://www.cnblogs.com/judes/p/10875138.html