Boost Log旋转文件名模式整数从未重启

时间:2019-05-23 06:08:29

标签: boost-log

我正在尝试创建一个日志记录系统,该系统将先前的三个日志存储在“存储的”目录中,并将当前的三个日志存储在一个目录中。我正在使用模式filename_%2N。一切工作正常,但进行测试,文件名整数永不重启,因此一段时间后,我得到了类似log_2020.log的文件。即使将fileConfig.numFiles设置为3,数字也将变为N。重新启动此整数时?有什么办法吗?

boost::shared_ptr<fileSink_t> file(new FileAppender::fileSink_t(
     boost::log::keywords::open_mode = (std::ios::app | std::ios::out),
     boost::log::keywords::file_name = fileConfig.path+fileConfig.filename+"_%2N.log",
     boost::log::keywords::rotation_size = fileConfig.maxSizekb * 1024,
     boost::log::keywords::auto_flush = true
));
file->locked_backend()->set_file_collector(boost::log::sinks::file::make_collector(
    boost::log::keywords::target = fileConfig.path+"/stored",
    boost::log::keywords::max_files = fileConfig.numFiles
));
file->locked_backend()->scan_for_files();

1 个答案:

答案 0 :(得分:0)

如果将false传递给update_counter的{​​{1}}参数,则可以避免初始化文件计数器:

scan_for_files()

请注意,这将导致文件名冲突的可能性。