Skip to content

Commit 2b0f0e4

Browse files
committed
wip(refactor): make log pkg adhere to composition pattern
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
1 parent 092d91d commit 2b0f0e4

1 file changed

Lines changed: 21 additions & 10 deletions

File tree

pkg/log/flags.go

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

109120
func getLogLevel(l string) zapcore.Level {

0 commit comments

Comments
 (0)