0
点赞
收藏
分享

微信扫一扫

spdlog 日志库基本使用

1说明

只需要包含头文件即可编译调用

2使用例子

#include "spdlog/spdlog.h"
#include <iostream>

int main()
{
auto fileLogger = spdlog::basic_logger_mt("fengyuzaitu", "test.log");
fileLogger->info("Welcome to fengyuzaitu51.cto!");
return 0;
}

linux编译指令:

g++ main.cpp  -std=c++11  -I./thrdparty/spdlog/include

3 何时刷新到磁盘文件问题

默认情况下,不会立刻刷新到磁盘文件,只有等到缓存达到一定的数量,才会刷新到文件

上面例子是因为程序在退出的时候,调用析构函数,直接输出到文件

1 指定立即刷新到文件

spdlog::flush_on(spdlog::level::info);

只要是Info级别以上的立即刷新到文件

代码

#include "spdlog/spdlog.h"
#include <iostream>

int main()
{
auto fileLogger = spdlog::basic_logger_mt("fengyuzaitu", "test.log", true);
fileLogger->flush_on(spdlog::level::info);
int nCount = 0;
while(1)
{
fileLogger->info("Welcome to fengyuzaitu51.cto!");
sleep(3);
nCount++;
if(nCount > 100)
{
break;
}
}

return 0;
}

如果不调用 fileLogger->flush_on(spdlog::level::info);需要等待有五十条记录以后才会刷新到文件,跟等待时间没有关系

4控制台输出

auto console = spdlog::stdout_color_st("console");

5 spdlog::flush_every函数未定义

举报

相关推荐

0 条评论