将spdlog::info的信息写入文件
时间: 2023-12-10 08:40:40 浏览: 108
要将spdlog::info的信息写入文件,可以使用spdlog的Rotating File Sink。这个sink可以定期将日志文件轮换,避免单个日志文件过大。
下面是一个示例代码:
```c++
#include <spdlog/spdlog.h>
#include <spdlog/sinks/rotating_file_sink.h>
int main()
{
// 创建Rotating File Sink
auto file_sink = std::make_shared<spdlog::sinks::rotating_file_sink_st>("example.log", 1024 * 1024 * 5, 3);
// 创建logger并添加Rotating File Sink
auto logger = spdlog::create("example", {file_sink});
// 设置日志级别为info
logger->set_level(spdlog::level::info);
// 写入日志
logger->info("Hello, world!");
return 0;
}
```
在上面的代码中,我们创建了一个Rotating File Sink,并将它添加到了logger中。然后我们将日志级别设置为info,并写入一条日志。这条日志将会被写入到名为example.log的文件中。
在创建Rotating File Sink时,我们需要指定三个参数。第一个参数是日志文件的名字;第二个参数是单个日志文件的最大大小(单位为字节);第三个参数是最多保留的日志文件数量。在上面的示例中,我们设置单个日志文件的最大大小为5MB,最多保留3个日志文件。
如果你想使用其他的sink,比如Daily File Sink,也可以参考spdlog的文档进行设置。
阅读全文