如何配置SPDLOG宏的输出格式以去除[文件名:行号]内容?
移除SPDLOG日志输出中的文件名与行号部分
要去掉SPDLOG默认日志里的[文件名:行号]部分,只需自定义日志格式(pattern),移除对应占位符即可:
解决方案代码
#include <spdlog/spdlog.h> int main() { // 设置自定义日志格式,剔除文件名和行号相关内容 spdlog::set_pattern("[%Y-%m-%d %H:%M:%S.%e] [%n] [%l] %v"); SPDLOG_DEBUG("SMTH1"); SPDLOG_TRACE("SMTH2"); SPDLOG_INFO("SMTH3"); }
格式说明
自定义pattern里的各占位符含义:
%Y-%m-%d %H:%M:%S.%e:输出带毫秒的完整日期时间%n:输出logger的名称(默认是"temp")%l:输出日志级别(debug/trace/info等)%v:输出日志的具体消息内容
原默认格式中包含%@(对应[文件名:行号]),我们在自定义pattern里去掉这个占位符,就能得到预期的输出效果。
如果使用自定义logger实例,同样可以调用logger->set_pattern("[%Y-%m-%d %H:%M:%S.%e] [%n] [%l] %v")来设置格式。
内容的提问来源于stack exchange,提问作者lbsmart
相关产品推荐
相关产品推荐

