From 78136fd4266838e92fafdd521826d983926a080f Mon Sep 17 00:00:00 2001 From: Arpad Kiss Date: Wed, 9 Oct 2024 15:19:10 +0200 Subject: [PATCH] Add capability to set loglevel to trace during runtime Signed-off-by: Arpad Kiss --- main.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index f5495a8..8cc8bbe 100644 --- a/main.go +++ b/main.go @@ -101,7 +101,7 @@ func main() { if err := envconfig.Process("nsm", rootConf); err != nil { logger.Fatalf("error processing rootConf from env: %+v", err) } - setLogLevel(rootConf.LogLevel) + setupLogLevel(ctx, rootConf.LogLevel) logger.Infof("rootConf: %+v", rootConf) // ******************************************************************************** @@ -224,10 +224,14 @@ func main() { } } -func setLogLevel(level string) { +func setupLogLevel(ctx context.Context, level string) { l, err := logrus.ParseLevel(level) if err != nil { logrus.Fatalf("invalid log level %s", level) } logrus.SetLevel(l) + logruslogger.SetupLevelChangeOnSignal(ctx, map[os.Signal]logrus.Level{ + syscall.SIGUSR1: logrus.TraceLevel, + syscall.SIGUSR2: l, + }) }