spdlog中rotating_logger_mt用法示例
时间: 2024-03-21 16:37:47 浏览: 201
下面是一个使用`rotating_logger_mt`的示例:
```cpp
#include <spdlog/spdlog.h>
#include <spdlog/sinks/basic_file_sink.h>
#include <spdlog/sinks/rotating_file_sink.h>
int main()
{
auto basic_logger = spdlog::basic_logger_mt("basic_logger", "logs/basic.log");
basic_logger->info("This is a basic logger message");
auto rotating_logger = spdlog::rotating_logger_mt("rotating_logger", "logs/rotating.log", 1024 * 1024 * 5, 3);
rotating_logger->info("This is a rotating logger message");
return 0;
}
```
在上面的示例中,我们创建了两个日志记录器:`basic_logger`和`rotating_logger`。`basic_logger`使用`basic_file_sink`作为日志输出,它会将日志信息写入到`logs/basic.log`文件中。`rotating_logger`使用`rotating_file_sink`作为日志输出,它会将日志信息写入到`logs/rotating.log`文件中,并在日志文件大小达到5MB时,将当前日志文件重命名并创建一个新的日志文件,最多保留3个日志文件。
需要注意的是,`rotating_logger_mt`的第三个参数是日志文件的最大大小(单位为字节),在上面的示例中,我们设置为5MB。第四个参数是最多保留的日志文件数量,即当达到最大数量时,最早的日志文件会被删除。
阅读全文