rotating_logger_mt
时间: 2023-06-22 22:43:46 浏览: 305
rotating_lightrotating_lightrotating_light_C
`rotating_logger_mt` 是 spdlog 提供的一种基于文件大小循环滚动的日志记录器。它会在达到指定的文件大小时自动创建一个新的日志文件,并将当前日志写入新文件,而旧文件则被重命名并保留在磁盘上。
以下是一个使用`rotating_logger_mt`的示例:
```cpp
auto rotating_sink = std::make_shared<spdlog::sinks::rotating_file_sink_mt>("example.log", 1024 * 1024 * 5, 3);
auto logger = std::make_shared<spdlog::logger>("example", rotating_sink);
// 设置日志记录级别
logger->set_level(spdlog::level::debug);
// 记录日志
logger->info("Hello, spdlog!");
```
在上面的示例中,我们创建了一个每个文件大小为5MB的循环滚动日志记录器,最多保留3个日志文件。当第一个日志文件达到5MB时,它将被重命名为 `example.log.1`,新的日志将被写入 `example.log`。当第二个日志文件也达到5MB时,它将被重命名为 `example.log.2`,第一个日志文件将被重命名为 `example.log.1`,新的日志将被写入 `example.log`。以此类推,最多保留3个日志文件。
使用 `rotating_logger_mt` 可以方便地在不占用过多磁盘空间的前提下,记录大量的日志数据。
阅读全文