相关疑难解决方法(0)

如何将彩色文本输出到Linux终端?

如何将彩色字符打印到支持它的Linux终端?

如何判断终端是否支持颜色代码?

c++ linux terminal colors

281
推荐指数
9
解决办法
24万
查看次数

如何使用自定义 boost::log 格式化程序输出 TimeStamp 和 ThreadID 属性?

我正在使用自定义boost::log格式化程序对输出日志消息进行颜色编码,但我找不到将TimeStampThreadID属性添加到日志的正确方法。当我使用文件日志记录时,我只是将其写keywords::format = "[%TimeStamp%] [%ThreadID%] [%Severity%]: %Message%"logging::add_file_log参数。我想在以下自定义格式化程序中具有类似的效果:

void coloring_formatter(const logging::record_view& record,
                        logging::formatting_ostream& stream)
{
  auto severity = record[logging::trivial::severity];
  assert(severity);

  stream << "\e[1m";

  switch (severity.get())
  {
  case logging::trivial::severity_level::trace:
    stream << "\e[97m";
    break;
  case logging::trivial::severity_level::debug:
    stream << "\e[34m";
    break;
  case logging::trivial::severity_level::info:
    stream << "\e[32m";
    break;
  case logging::trivial::severity_level::warning:
    stream << "\e[93m";
    break;
  case logging::trivial::severity_level::error:
    stream << "\e[91m";
    break;
  case logging::trivial::severity_level::fatal:
    stream << "\e[41m";
    break;
  }

  stream // << output TimeStamp
         // << output ThreadID …
Run Code Online (Sandbox Code Playgroud)

c++ logging boost boost-logging boost-log

5
推荐指数
1
解决办法
1289
查看次数

标签 统计

c++ ×2

boost ×1

boost-log ×1

boost-logging ×1

colors ×1

linux ×1

logging ×1

terminal ×1