Im trying to format the boost log output such that a field of choice will always be of a specific width for output log alignment reasons.
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've tried different formats such as
- "[%1%] [%2%] [%3%] [%|20t|%4%] %5%"
- "[%1%] [%2%] [%3%] [%-20s] %5%"
- trivial::severity << std::setw(20)
Many of my attempts threw the following error:
> Caught Exception in cyacollector main. Error: Unsupported format
> placeholder