spdlog中使用set_default_logger函数每天新建log文件并储存log
时间: 2023-08-07 14:05:04 浏览: 306
使用`set_default_logger`函数可以设置默认的日志记录器,这样可以方便地在程序的各个模块中直接使用默认的日志记录器,而无需在每个模块中都创建一个新的日志记录器。
下面是一个使用`set_default_logger`函数和`daily_file_sink`的示例:
```cpp
#include <spdlog/spdlog.h>
#include <spdlog/sinks/daily_file_sink.h>
int main()
{
auto daily_logger = spdlog::daily_logger_mt("daily_logger", "logs/daily.log", 0, 0);
spdlog::set_default_logger(daily_logger);
spdlog::set_pattern("[%Y-%m-%d %H:%M:%S.%e %z] [%^%l%$] %v");
spdlog::set_time_zone(spdlog::details::make_unique<spdlog::sinks::localtime_zone>());
spdlog::info("This is a daily logger message");
return 0;
}
```
在上面的示例中,我们首先创建了一个名为`daily_logger`的日志记录器,并使用`daily_file_sink`作为日志输出。然后通过`set_default_logger`函数将其设置为默认的日志记录器。在`spdlog::info()`函数中,我们直接使用默认的日志记录器输出日志信息。
使用`set_default_logger`函数可以将日志记录器的创建和设置分离开来,使代码更加简洁和易于维护。同时,使用默认的日志记录器也可以避免在不同的模块中创建多个日志记录器导致日志输出混乱的问题。
阅读全文