Я бы хотел, чтобы boost:logger
был настроен так, чтобы он записывал в файл, но также отображал тот же вывод на stdout.В настоящее время запись в файл, кажется, работает, но я ничего не получаю в stdout, и мне интересно, почему, вот что у меня есть, где logging::add_console_log
внизу должно удовлетворять выводу до stdout
, но не:
file_name = "/tmp/sample_%N.log";
if (!file_name.empty()) { // add file log
if (size_based_rotation) {
logging::add_file_log(
keywords::auto_flush = true,
keywords::file_name = file_name,
keywords::format = message_format,
keywords::filter = min_severity || severity >= log_level,
keywords::rotation_size = pt.get<uint>("rotation_size", 0));
std::cout << "| rotation_size: " << pt.get<uint>("rotation_size", 0) << std::endl;
} else if (time_based_rotation) {
logging::add_file_log(
keywords::auto_flush = true,
keywords::file_name = file_name,
keywords::format = message_format,
keywords::filter = min_severity || severity >= log_level,
keywords::time_based_rotation = sinks::file::rotation_at_time_point(
pt.get<uint>("rotation_time.hour", 0),
pt.get<uint>("rotation_time.minute", 0),
pt.get<uint>("rotation_time.second", 0)));
} else {
logging::add_file_log(
keywords::auto_flush = true,
keywords::format = message_format,
keywords::filter = min_severity || severity >= log_level,
keywords::file_name = file_name);
}
}
logging::add_console_log(std::cout, boost::log::keywords::format = ">> %Message%");
//YG logging::core::get()->set_filter(min_severity || severity >= log_level);
//YG logging::core::get()->set_filter(severity >= log_level);
logging::add_common_attributes();