gpt4 book ai didi

go - 如何将 logrus 时间设置为 UTC

转载 作者:IT王子 更新时间:2023-10-29 00:53:37 24 4
gpt4 key购买 nike

我将 Go 与 logrus 一起使用,但我发现时间字段的格式始终为本地时间。如何将 logrus 的时间更改为 UTC 时间?

谢谢

最佳答案

不直接支持时区设置,但您可以使用自定义 log.Formatter您可以在其中“切换”到您选择的时区,包括 UTC。

使用本地时区(而非 UTC)的简单用法可能如下所示:

import (
log "github.com/Sirupsen/logrus"
)

func main() {
log.SetFormatter(&log.JSONFormatter{})
log.Info("Testing")
}

输出(时间格式使用我的 +01 本地时区):

{"level":"info","msg":"Testing","time":"2016-11-09T09:28:02+01:00"}

现在让我们创建一个自定义 log.Formatter,它切换到 UTC:

type UTCFormatter struct {
log.Formatter
}

func (u UTCFormatter) Format(e *log.Entry) ([]byte, error) {
e.Time = e.Time.UTC()
return u.Formatter.Format(e)
}

func main() {
log.SetFormatter(UTCFormatter{&log.JSONFormatter{}})
log.Info("Testing")
}

输出(时间格式为 UTC 时区):

{"level":"info","msg":"Testing","time":"2016-11-09T08:28:09Z"}

关于go - 如何将 logrus 时间设置为 UTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40502309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com