Logrus 去除日志级别和时间戳方法
本文介绍如何通过自定义Logrus的TextFormatter,禁用默认的时间戳和日志级别字段,从而输出纯净的CSV格式日志内容。

本文介绍如何通过自定义 Logrus 的 TextFormatter,禁用默认的时间戳和日志级别字段,从而输出纯净的 CSV 格式日志内容。
本文介绍如何通过自定义 Logrus 的 TextFormatter,禁用默认的时间戳和日志级别字段,从而输出纯净的 CSV 格式日志内容。
Logrus 默认以结构化文本格式输出日志,包含 time=、level=、msg= 等键值对(如 time="2015-11-18T01:27:38-04:00" level=info msg="100,Click,Android"),这会破坏 CSV 文件的字段对齐与解析。若目标是生成纯 CSV 日志(例如:100,Click,Android),需彻底移除非业务字段。
关键在于配置 logrus.TextFormatter——Logrus 默认使用的文本格式器。你需要禁用时间戳、日志级别、调用函数信息等冗余字段,并将日志消息(msg)作为唯一输出内容:
package main
import (
"github.com/sirupsen/logrus"
)
func main() {
logger := logrus.New()
// 获取并配置 TextFormatter
formatter := &logrus.TextFormatter{
DisableTimestamp: true, // 隐藏 time=...
DisableLevel: true, // 隐藏 level=...
DisableCaller: true, // 可选:隐藏文件/行号
DisableColors: true, // 避免 ANSI 转义符干扰 CSV
FullTimestamp: false,
FieldMap: logrus.FieldMap{
logrus.FieldKeyMsg: "", // 关键:清空 msg 的前缀(如 "msg=")
},
}
logger.SetFormatter(formatter)
// 输出纯消息内容(无前缀、无结构)
logger.Info("100,Click,Android")
// → 输出:100,Click,Android(不含任何额外字段)
}⚠️ 注意事项:
- DisableLevel: true 仅在 TextFormatter 下生效(Logrus v1.9+ 支持;旧版本需配合 FieldMap 清除 level 键);
- FieldMap 中设置 logrus.FieldKeyMsg: "" 可移除 "msg=" 前缀,确保输出仅为原始字符串;
- 若写入文件,请使用 logger.SetOutput(os.Stdout) 或重定向到 *os.File,避免控制台颜色干扰;
- 对于严格 CSV 场景(含逗号、换行、引号),建议不依赖日志库直接写 CSV,而改用 encoding/csv 包写入,Logrus 更适合结构化/调试日志。
总结:Logrus 完全可满足纯净 CSV 日志需求,只需正确配置 TextFormatter 并关闭无关字段。无需引入新日志库——专注定制,即可兼顾灵活性与简洁性。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















