为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 logrus 中隐藏日志级别和时间

如何在 logrus 中隐藏日志级别和时间

Go
潇湘沐 2021-11-22 18:05:45
我正在尝试以 CSV 格式编写日志。我正在尝试使用logrus将 CSV 写入日志。但是我看到日志级别(信息)和时间被添加到日志中的 CSV 内容中。喜欢,time="2015-11-18T01:27:38-04:00" level=info msg="100,Click,Android"如何使用 logrus 只写我的消息?或者我应该使用 golang 中可用的任何其他记录器吗?注意:我是新手
查看完整描述

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



查看完整回答
反对 回复 2021-11-22
  • 1 回答
  • 0 关注
  • 197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信