私はlogrusを使用していますが、時刻フィールドは常に現地時間でフォーマットされています。 logrusの時間をUTC時間に変更するにはどうすればよいですか?あなたはlogrus.Formatter
の独自のimplimentationを記述する必要がログローラ時間をUTCに設定するには
おかげ
私はlogrusを使用していますが、時刻フィールドは常に現地時間でフォーマットされています。 logrusの時間をUTC時間に変更するにはどうすればよいですか?あなたはlogrus.Formatter
の独自のimplimentationを記述する必要がログローラ時間をUTCに設定するには
おかげ
タイムゾーンの設定は、直接サポートされていませんが、あなたはあなたの選択のタイムゾーンに「スイッチ」、UTCが含まれているカスタムlog.Formatter
を使用することができます。ローカルタイムゾーン(ない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"}
今みましょうUTCに切り替えるカスタムlog.Formatter
を作成します。
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"}
これはとてもきれいです。大好きです。 –