@@ -21,6 +21,7 @@ import (
2121 "fmt"
2222 "os"
2323
24+ "github.com/go-logr/logr"
2425 "github.com/spf13/pflag"
2526 "go.uber.org/zap/zapcore"
2627 "k8s.io/klog/v2"
@@ -80,15 +81,12 @@ func GetFieldsRemapFlags() (res []string) {
8081 return res
8182}
8283
83- // ConfigureLogging configure the logging honoring the flags
84- // passed from the user
85- // This is executed after args were already parsed.
86- func (l * Flags ) ConfigureLogging () {
84+ func (l * Flags ) BuildLogger () logr.Logger {
8785 if l .zapOptions .TimeEncoder == nil {
8886 l .zapOptions .TimeEncoder = zapcore .RFC3339NanoTimeEncoder
8987 }
9088
91- logger := zap .New (zap .UseFlagOptions (& l .zapOptions ), customLevel , customDestination , remapKeys )
89+ lgr := zap .New (zap .UseFlagOptions (& l .zapOptions ), customLevel , customDestination , remapKeys )
9290 switch logLevel {
9391 case ErrorLevelString ,
9492 WarningLevelString ,
@@ -97,13 +95,26 @@ func (l *Flags) ConfigureLogging() {
9795 TraceLevelString :
9896 break
9997 default :
100- logger .Info ("Invalid log level, defaulting" , "level" , logLevel , "default" , DefaultLevel )
98+ lgr .Info ("Invalid log level, defaulting" , "level" , logLevel , "default" , DefaultLevel )
10199 }
102100
103- redirectStdLog (logger )
104- controllerruntime .SetLogger (logger )
105- klog .SetLogger (logger )
106- SetLogger (logger )
101+ return lgr
102+ }
103+
104+ // ConfigureLogging configure the logging honoring the flags
105+ // passed from the user
106+ // This is executed after args were already parsed.
107+ func (l * Flags ) ConfigureLogging () {
108+ lgr := l .BuildLogger ()
109+ SetGlobalLogger (lgr )
110+ }
111+
112+ // SetGlobalLogger configure the underlying loggers
113+ func SetGlobalLogger (lgr logr.Logger ) {
114+ redirectStdLog (lgr )
115+ controllerruntime .SetLogger (lgr )
116+ klog .SetLogger (lgr )
117+ SetLogger (lgr )
107118}
108119
109120func getLogLevel (l string ) zapcore.Level {
0 commit comments