Boost日志会在磁盘空间不足时导致应用程序崩溃。
如果我在excel中打开一个活动日志文件,当excel打开该文件时,它也会尝试将文件翻转。
我的应用程序由于日志记录而崩溃非常糟糕。它应该只是默默地失败。从转储中,它看起来像是未处理的异常。
如何使它静默失败而不是使应用程序崩溃?
我正在使用boost trvial logger并按如下方式进行配置:
boost::log::add_file_log(
boost::log::keywords::file_name = "foo.log",
boost::log::keywords::target = C:\\log",
boost::log::keywords::rotation_size = 100000,
boost::log::keywords::max_size = 10 * 100000,
boost::log::keywords::auto_flush = true,
boost::log::keywords::format = "%TimeStamp%,%Message%",
boost::log::keywords::time_based_rotation = boost::log::sinks::file::rotation_at_time_point(0, 0, 0)
);
答案 0 :(得分:1)
您必须告诉boost log抑制异常,像这样:
boost::log::core::get()->set_exception_handler(boost::log::make_exception_suppressor());