私はブースト1.63を使ってグローバルロガーを実装しました。プログラムは、ログ・ファイルが(プログラムを再度実行されても)oldLogsディレクトリに移動されていないと/ var(例はsudo殺す-9 pidのか電源オフのため)が予期せず終了するとブーストログ処理の電源オフシナリオ
BOOST_LOG_GLOBAL_LOGGER_INIT(my_logger, src::severity_logger_mt<severity_level>)
{
typedef sinks::synchronous_sink<sinks::text_file_backend> file_sink;
boost::shared_ptr<file_sink> sink(new file_sink(
keywords::file_name = "/var/log/testApp/%Y%m%d_%H%M%S_testApp.log",
keywords::rotation_size = 5 * 1024 * 1024,
keywords::auto_flush = true));
sink->locked_backend()->set_file_collector(sinks::file::make_collector(
keywords::target = "/var/log/testApp/oldLogs",
keywords::max_size = 5 * 1024 * 1024 * 2,
keywords::min_free_space = 5 * 1024 * 1024 * 2,
keywords::max_files = 2));
sink->locked_backend()->scan_for_files();
sink->set_formatter(
expr::format("[%1%]<%2%> : %3%") %
expr::attr<boost::posix_time::ptime>("TimeStamp") %
expr::attr<severity_level>("Severity") %
expr::smessage);
logging::core::get()->add_sink(sink);
logging::core::get()->add_global_attribute("TimeStamp", attrs::local_clock());
src::severity_logger_mt<severity_level> slg;
return slg;
}
:ここでは初期化され/ log/testAppディレクトリには多くのログファイルが含まれている可能性があります。
このようなシナリオを処理することは可能ですか?