Skip to content

Commit 46caf72

Browse files
committed
wip
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
1 parent 2b0f0e4 commit 46caf72

2 files changed

Lines changed: 34 additions & 27 deletions

File tree

pkg/log/flags.go

Lines changed: 13 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121
"fmt"
2222
"os"
2323

24-
"github.com/go-logr/logr"
2524
"github.com/spf13/pflag"
2625
"go.uber.org/zap/zapcore"
2726
"k8s.io/klog/v2"
@@ -81,43 +80,30 @@ func GetFieldsRemapFlags() (res []string) {
8180
return res
8281
}
8382

84-
func (l *Flags) BuildLogger() logr.Logger {
85-
if l.zapOptions.TimeEncoder == nil {
86-
l.zapOptions.TimeEncoder = zapcore.RFC3339NanoTimeEncoder
87-
}
88-
89-
lgr := zap.New(zap.UseFlagOptions(&l.zapOptions), customLevel, customDestination, remapKeys)
90-
switch logLevel {
91-
case ErrorLevelString,
92-
WarningLevelString,
93-
InfoLevelString,
94-
DebugLevelString,
95-
TraceLevelString:
96-
break
97-
default:
98-
lgr.Info("Invalid log level, defaulting", "level", logLevel, "default", DefaultLevel)
99-
}
100-
101-
return lgr
83+
// GetOptions returns the zap options
84+
func (l *Flags) GetOptions() zap.Options {
85+
return l.zapOptions
10286
}
10387

10488
// ConfigureLogging configure the logging honoring the flags
10589
// passed from the user
10690
// This is executed after args were already parsed.
91+
// Deprecated: use NewLogger and SetGlobalLogger instead
10792
func (l *Flags) ConfigureLogging() {
108-
lgr := l.BuildLogger()
93+
lgr := NewLogger(l.zapOptions)
10994
SetGlobalLogger(lgr)
11095
}
11196

11297
// 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)
98+
func SetGlobalLogger(lgr Logger) {
99+
redirectStdLog(lgr.GetLogger())
100+
controllerruntime.SetLogger(lgr.GetLogger())
101+
klog.SetLogger(lgr.GetLogger())
102+
SetLogger(lgr.GetLogger())
118103
}
119104

120-
func getLogLevel(l string) zapcore.Level {
105+
// GetLogLevel returns the zap log level from a string
106+
func GetLogLevel(l string) zapcore.Level {
121107
switch l {
122108
case ErrorLevelString:
123109
return ErrorLevel
@@ -163,7 +149,7 @@ func remapKeys(in *zap.Options) {
163149
}
164150

165151
func customLevel(in *zap.Options) {
166-
in.Level = getLogLevel(logLevel)
152+
in.Level = GetLogLevel(logLevel)
167153
in.EncoderConfigOptions = append(in.EncoderConfigOptions, func(c *zapcore.EncoderConfig) {
168154
c.EncodeLevel = func(l zapcore.Level, enc zapcore.PrimitiveArrayEncoder) {
169155
enc.AppendString(getLogLevelString(l))

pkg/log/log.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
stdLog "log"
2424
"os"
2525
"runtime"
26+
"sigs.k8s.io/controller-runtime/pkg/log/zap"
2627

2728
"github.com/go-logr/logr"
2829
"go.uber.org/zap/zapcore"
@@ -69,6 +70,26 @@ type logger struct {
6970
printCaller bool
7071
}
7172

73+
func NewLogger(options zap.Options) Logger {
74+
if options.TimeEncoder == nil {
75+
options.TimeEncoder = zapcore.RFC3339NanoTimeEncoder
76+
}
77+
78+
lgr := zap.New(zap.UseFlagOptions(&options), customLevel, customDestination, remapKeys)
79+
switch logLevel {
80+
case ErrorLevelString,
81+
WarningLevelString,
82+
InfoLevelString,
83+
DebugLevelString,
84+
TraceLevelString:
85+
break
86+
default:
87+
lgr.Info("Invalid log level, defaulting", "level", logLevel, "default", DefaultLevel)
88+
}
89+
90+
return &logger{Logger: lgr}
91+
}
92+
7293
// Log is the logger that will be used in this package
7394
var log = &logger{Logger: ctrl.Log}
7495

0 commit comments

Comments
 (0)