From 59602ff7732a8dfb65a647618d327657ae23a3f2 Mon Sep 17 00:00:00 2001 From: Dan Fuhry Date: Thu, 12 Sep 2024 20:14:38 -0400 Subject: [PATCH] utils/log: only init default logger once Fixes configuration of the default logger via flags --- utils/log/log.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/utils/log/log.go b/utils/log/log.go index 843118a..e125f29 100644 --- a/utils/log/log.go +++ b/utils/log/log.go @@ -4,6 +4,8 @@ import ( "flag" "io" "log" + "os" + "sync" ) var logVerbosity int = 0 @@ -16,6 +18,9 @@ type Logger struct { prefix string } +var defaultLogger *Logger +var defaultLoggerOnce sync.Once + func init() { flag.IntVar(&logVerbosity, "vv", 0, "verbosity level for logs") flag.StringVar(&logLevel, "v", INFO.String(), "syslog log level for logs") @@ -30,7 +35,12 @@ func V(level int) *Logger { } func Default() *Logger { - return &Logger{Logger: log.Default()} + defaultLoggerOnce.Do(func() { + defaultLogger = &Logger{ + Logger: log.New(os.Stderr, "", log.LstdFlags), + } + }) + return defaultLogger } func WithPrefix(prefix string) *Logger { -- 2.50.1