1 回答
TA贡献1795条经验 获得超7个赞
我正在尝试使用 logrus 将 CSV 写入日志。但是我看到日志级别(信息)和时间被添加到日志中的 CSV 内容中。
看起来您绝对不应该使用 logrus,因为它存在的主要原因是创建结构化日志,即键值样式。不知道你为什么不简单地做
fmt.Println("100,Click,Android")
或者
fmt.Fprintln(os.Stderr, "100,Click,Android")
如果您希望将其写入标准错误(记录器的默认值)。
如果出于任何原因需要记录器,您几乎可以通过禁用标志对标准记录器执行相同的操作:
log.SetFlags(0)
log.Println("100,Click,Android")
// Output:
// 100,Click,Android
但是,如果您自己创建 CSV 输出(即您已经有单独的字段而不是完整的 CSV 行),请使用标准库中的csv 包:
w := csv.NewWriter(os.Stdout)
w.Write([]string{"100", "Click", "Android"})
w.Flush()
// Output:
// 100,Click,Android
除非你只是想使用logrus,然后按照包和坚持使用结构化输出的概念:
logrus.WithFields(logrus.Fields{
"id": "100",
"event": "Click",
"os": "Android",
}).Info("Hooray, we have some users!")
// Output:
// time="2015-11-19T15:20:32+01:00" level=info msg="Hooray, we have some users!" event=Click id=100 os=Android
- 1 回答
- 0 关注
- 197 浏览
添加回答
举报