diff --git a/pkg/log/log.go b/pkg/log/log.go index d8d951eb..a5fd87a3 100644 --- a/pkg/log/log.go +++ b/pkg/log/log.go @@ -5,6 +5,7 @@ import ( "runtime" "strconv" "strings" + "sync" "time" "github.com/rs/zerolog" @@ -12,6 +13,9 @@ import ( const defaultPerms = 0o0600 +// nolint:gochecknoglobals +var loggerSetTimeFormat sync.Once + // Logger extends zerolog's Logger. type Logger struct { zerolog.Logger @@ -22,7 +26,9 @@ func (l Logger) Println(v ...interface{}) { } func NewLogger(level, output string) Logger { - zerolog.TimeFieldFormat = time.RFC3339Nano + loggerSetTimeFormat.Do(func() { + zerolog.TimeFieldFormat = time.RFC3339Nano + }) lvl, err := zerolog.ParseLevel(level) if err != nil { @@ -47,7 +53,9 @@ func NewLogger(level, output string) Logger { } func NewAuditLogger(level, audit string) *Logger { - zerolog.TimeFieldFormat = time.RFC3339Nano + loggerSetTimeFormat.Do(func() { + zerolog.TimeFieldFormat = time.RFC3339Nano + }) lvl, err := zerolog.ParseLevel(level) if err != nil {