1
ブーストログの出力をフォーマットして、選択したフィールドが出力ログの整列のために常に特定の幅になるようにしようとしています。C++ブーストログの位置指定(インデックス付き)フォーマットのアラインメント
add_file_log(
keywords::file_name = s.str(),
keywords::rotation_size = log_info.log_file_size,
keywords::max_size = log_info.log_file_amount * log_info.log_file_size,
keywords::target = log_info.log_path,
keywords::open_mode = std::ios::out | std::ios::app,
keywords::auto_flush = true,
keywords::format =
expressions::format("[%1%] [%2%] [%3%] [%4%] %5%")
% expressions::format_date_time<boost::posix_time::ptime>("TimeStamp", "%Y-%m-%d %H:%M:%S.%f")
% expressions::attr<unsigned int>("ThreadID")
% expressions::attr<string>("Scope")
% trivial::severity
% expressions::smessage
);
Iは "[%1%] [%2%] [%3%] [%| 20トン|%4%]%、5%" は、
- として異なるフォーマットを試みました
- "[%1%] [%2%] [%3%] [%-20s]%、5%"
- 些細::重症度< <のstd :: setw(20)
私の試みの多くは、次のエラーを投げた:
> Caught Exception in cyacollector main. Error: Unsupported format
> placeholder