如何配置提升日志,用旋转和附加写?(How to configure boost log, for

2019-07-29 08:52发布

如何配置提升日志,用旋转和附加写?

并重新启动程序后,不清除日志文件。

int init_log()
{
    typedef sinks::synchronous_sink< sinks::text_file_backend > file_sink;
    boost::shared_ptr< file_sink > sink( new file_sink (
       keywords::file_name = "app.log", // only one files
       // keywords::open_mode = (std::ios::out | std::ios::app), // is not append
       keywords::open_mode = (std::ios::out | std::ios::app), // is not rotated
       keywords::rotation_size = 10 * 1024
     ));
}

Answer 1:

请尝试了这一点(关键是使用一些图案添加日志名称,而不是固定的名称,比如“app.log”),这将使旋转放到火和数据将被追加到每个创建的文件。 关于日志结算,只要你有没有指定的自定义file_collector的记录应该保持不变:)

typedef sinks::synchronous_sink< sinks::text_file_backend > file_sink;
boost::shared_ptr< file_sink > sink( new file_sink(
        keywords::file_name     = "app%m%d%Y_%H%M%S_%5N.log",   // file name pattern
        keywords::rotation_size = 10*1024                       // rotation size, in characters
        ));


文章来源: How to configure boost log, for writing with rotating and appending?