You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 06:31:12