4 #include <boost/log/trivial.hpp>
5 #include <boost/log/utility/setup/console.hpp>
7 static void color_fmt(boost::log::record_view
const& rec, boost::log::formatting_ostream& strm) {
8 auto severity = rec[boost::log::trivial::severity];
11 switch (severity.get()) {
12 case boost::log::trivial::warning:
16 case boost::log::trivial::error:
17 case boost::log::trivial::fatal:
26 strm << std::setw(7) << std::setfill(
' ') << severity <<
": " << rec[boost::log::expressions::smessage];
32 void logger_init_sink(
bool use_colors =
false) {
33 auto* stream = &std::cerr;
34 if (getenv(
"LOG_STDERR") ==
nullptr) {
37 auto sink = boost::log::add_console_log(*stream, boost::log::keywords::format =
"%Message%",
38 boost::log::keywords::auto_flush =
true);
40 sink->set_formatter(&color_fmt);