From 1b1d5ef61e424a2d3b4148b4cb363ba31d396a48 Mon Sep 17 00:00:00 2001 From: Kyle Squizzato Date: Wed, 5 Feb 2025 20:15:40 -0800 Subject: [PATCH] feature(logger): add support for creating new logger Signed-off-by: Kyle Squizzato --- log/log.go | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/log/log.go b/log/log.go index eafb007..25a13a4 100644 --- a/log/log.go +++ b/log/log.go @@ -24,32 +24,37 @@ type LogOptions struct { } func InitLog(opts *LogOptions) { - Log = newLogger() - Log.SetLevel(logrus.DebugLevel) // default + Log = New(opts) +} + +// New returns a new local Logger. +func New(opts *LogOptions) Logger { + nl := newLogger() + nl.SetLevel(logrus.DebugLevel) // default logLevel := param.Lookup("LOG_LEVEL", "/replicated/log_level", false) if logLevel != "" { lvl, err := logrus.ParseLevel(logLevel) if err == nil { - Log.SetLevel(lvl) + nl.SetLevel(lvl) } } - Log.logger.AddHook(&CallerHook{}) + nl.logger.AddHook(&CallerHook{}) if opts == nil { - return + return nl } if opts.UseJSONFormatter { - Log.SetFormatter(&JSONFormatter{}) + nl.SetFormatter(&JSONFormatter{}) } else { - Log.SetFormatter(&ConsoleFormatter{}) + nl.SetFormatter(&ConsoleFormatter{}) } if opts.LogLevel != "" { lvl, err := logrus.ParseLevel(opts.LogLevel) if err == nil { - Log.SetLevel(lvl) + nl.SetLevel(lvl) } } @@ -72,8 +77,10 @@ func InitLog(opts *LogOptions) { golog.Fatal(err) } - Log.AddHook(hook) + nl.AddHook(hook) } + + return nl } func WithField(key string, value interface{}) *logrus.Entry {