增强记录器不会在午夜旋转

时间:2017-06-02 08:31:56

标签: c++ boost boost-log

config = Config({
    'log': {
        'filename': 'C:/tmp/myapp.log'
    }
})
config.configparser.load('config.ini')
print(config.log.filename.value)

我可以在同一日志文件中查看不同日期的日志' App_2017-05-31.0.log'

logging::wsettings settings;
settings["Core"]["Filter"] = L"%Severity% >= " + level;
settings["Core"]["DisableLogging"] = false;
settings["Sinks.File"]["Destination"] = L"TextFile";
settings["Sinks.File"]["FileName"] = fileName;
settings["Sinks.File"]["Format"] = L"%TimeStamp% %Severity(format=\"%-7s\")% - %Message%";
settings["Sinks.File"]["AutoFlush"] = true;
settings["Sinks.File"]["TimeBasedRotation"] = L"00:00:00";
settings["Sinks.File"]["RotationSize"] = 10 * 1024 * 1024;
settings["Sinks.File"]["Target"] = filePath;
settings["Sinks.File"]["ScanForFiles"] = L"All";
settings["Sinks.File"]["Append"] = true;

auto previousLocale = std::locale::global(boost::locale::generator()(Constants::LOCALE));
logging::init_from_settings(settings);
logging::add_common_attributes();

您是否知道如何正确配置记录器,因此它可以在午夜轮换日志文件,并且不会在同一日志文件中的不同日期记录日志。

1 个答案:

答案 0 :(得分:0)

没有TimeBasedRotation参数。您可以通过将RotationInterval设置为旋转之间的秒数来设置定期旋转,或将RotationTimePoint设置为旋转发生的时间点。参数记录为here