Skip to content

Commit 6567aca

Browse files
Addressing PR coments
1 parent 3b28488 commit 6567aca

File tree

3 files changed

+42
-44
lines changed

3 files changed

+42
-44
lines changed

go.mod

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,12 @@ require (
1616
github.com/spf13/pflag v1.0.5
1717
go.uber.org/zap v1.10.0
1818
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4
19-
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7
2019
gomodules.xyz/jsonpatch/v2 v2.0.1
2120
gopkg.in/fsnotify.v1 v1.4.7
2221
k8s.io/api v0.17.2
2322
k8s.io/apiextensions-apiserver v0.17.2
2423
k8s.io/apimachinery v0.17.2
2524
k8s.io/client-go v0.17.2
26-
k8s.io/klog v1.0.0
2725
k8s.io/utils v0.0.0-20191114184206-e782cd3c129f
2826
sigs.k8s.io/yaml v1.1.0
2927
)

pkg/log/zap/flags.go

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -23,38 +23,39 @@ import (
2323
"fmt"
2424
"strings"
2525

26+
"github.com/spf13/pflag"
2627
"go.uber.org/zap"
2728
"go.uber.org/zap/zapcore"
2829
)
2930

3031
type encoderConfigFunc func(*zapcore.EncoderConfig)
3132

32-
type encoderValue struct {
33-
set bool
33+
type encoderFlag struct {
3434
setFunc func(zapcore.Encoder)
35-
str string
35+
value string
3636
}
3737

38-
func (v encoderValue) String() string {
39-
return v.str
38+
var _ pflag.Value = &encoderFlag{}
39+
40+
func (ev *encoderFlag) String() string {
41+
return ev.value
4042
}
4143

42-
func (v encoderValue) Type() string {
44+
func (ev *encoderFlag) Type() string {
4345
return "encoder"
4446
}
4547

46-
func (v *encoderValue) Set(e string) error {
47-
v.set = true
48-
val := strings.ToLower(e)
48+
func (ev *encoderFlag) Set(flagValue string) error {
49+
val := strings.ToLower(flagValue)
4950
switch val {
5051
case "json":
51-
v.setFunc(newJSONEncoder())
52+
ev.setFunc(newJSONEncoder())
5253
case "console":
53-
v.setFunc(newConsoleEncoder())
54+
ev.setFunc(newConsoleEncoder())
5455
default:
55-
return fmt.Errorf("invalid encoder value \"%s\"", e)
56+
return fmt.Errorf("invalid encoder value \"%s\"", flagValue)
5657
}
57-
v.str = e
58+
ev.value = flagValue
5859
return nil
5960
}
6061

@@ -74,59 +75,58 @@ func newConsoleEncoder(ecfs ...encoderConfigFunc) zapcore.Encoder {
7475
return zapcore.NewConsoleEncoder(encoderConfig)
7576
}
7677

77-
type levelValue struct {
78-
set bool
78+
type levelFlag struct {
7979
setFunc func(zap.AtomicLevel)
80-
str string
80+
value string
8181
}
8282

83-
func (v *levelValue) Set(l string) error {
84-
v.set = true
85-
lower := strings.ToLower(l)
83+
var _ pflag.Value = &levelFlag{}
84+
85+
func (ev *levelFlag) Set(flagValue string) error {
86+
lower := strings.ToLower(flagValue)
8687
switch lower {
8788
case "debug":
88-
v.setFunc(zap.NewAtomicLevelAt(zap.DebugLevel))
89+
ev.setFunc(zap.NewAtomicLevelAt(zap.DebugLevel))
8990
case "info":
90-
v.setFunc(zap.NewAtomicLevelAt(zap.InfoLevel))
91+
ev.setFunc(zap.NewAtomicLevelAt(zap.InfoLevel))
9192
default:
92-
return fmt.Errorf("invalid log level \"%s\"", l)
93+
return fmt.Errorf("invalid log level \"%s\"", flagValue)
9394
}
94-
v.str = l
95+
ev.value = flagValue
9596
return nil
9697
}
9798

98-
func (v levelValue) String() string {
99-
return v.str
99+
func (ev *levelFlag) String() string {
100+
return ev.value
100101
}
101102

102-
func (v levelValue) Type() string {
103+
func (ev *levelFlag) Type() string {
103104
return "level"
104105
}
105106

106-
type stackTraceValue struct {
107-
set bool
107+
type stackTraceFlag struct {
108108
setFunc func(zap.AtomicLevel)
109-
str string
109+
value string
110110
}
111111

112-
func (s *stackTraceValue) Set(val string) error {
113-
s.set = true
114-
lower := strings.ToLower(val)
112+
func (ev *stackTraceFlag) Set(flagValue string) error {
113+
lower := strings.ToLower(flagValue)
115114
switch lower {
116115
case "warn":
117-
s.setFunc(zap.NewAtomicLevelAt(zap.WarnLevel))
116+
ev.setFunc(zap.NewAtomicLevelAt(zap.WarnLevel))
118117
case "error":
119-
s.setFunc(zap.NewAtomicLevelAt(zap.ErrorLevel))
118+
ev.setFunc(zap.NewAtomicLevelAt(zap.ErrorLevel))
120119
default:
121-
return fmt.Errorf("invalid stacktrace level \"%s\"", val)
120+
return fmt.Errorf("invalid stacktrace level \"%s\"", flagValue)
122121
}
122+
ev.value = flagValue
123123
return nil
124124
}
125125

126-
func (s stackTraceValue) String() string {
127-
return s.str
126+
func (ev *stackTraceFlag) String() string {
127+
return ev.value
128128
}
129129

130-
func (_ stackTraceValue) Type() string {
130+
func (ev *stackTraceFlag) Type() string {
131131
return "level"
132132
}

pkg/log/zap/zap.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -215,21 +215,21 @@ func (o *Options) BindFlags(fs *pflag.FlagSet) {
215215
fs.BoolVar(&o.Development, "zap-devel", false, "Enable zap development mode (changes defaults to console encoder, debug log level, and disables sampling)")
216216

217217
// Set Encoder value
218-
var encVal encoderValue
218+
var encVal encoderFlag
219219
encVal.setFunc = func(fromFlag zapcore.Encoder) {
220220
o.Encoder = fromFlag
221221
}
222222
fs.Var(&encVal, "zap-encoder", "Zap log encoding ('json' or 'console')")
223223

224224
// Set the Log Level
225-
var levelVal levelValue
225+
var levelVal levelFlag
226226
levelVal.setFunc = func(fromFlag zap.AtomicLevel) {
227227
o.Level = &fromFlag
228228
}
229229
fs.Var(&levelVal, "zap-log-level", "Zap log level (one of 'debug', 'info', 'error' or any integer value > 0)")
230230

231231
// Set the StrackTrace Level
232-
var stackVal stackTraceValue
232+
var stackVal stackTraceFlag
233233
stackVal.setFunc = func(fromFlag zap.AtomicLevel) {
234234
o.StacktraceLevel = &fromFlag
235235
}
@@ -238,7 +238,7 @@ func (o *Options) BindFlags(fs *pflag.FlagSet) {
238238
}
239239

240240
// UseFlagOptions to set logger with CLI passed flags.
241-
func UseFlagOptions(in *Options) func(o *Options) {
241+
func UseFlagOptions(in *Options) Opts {
242242
return func(o *Options) {
243243
*o = *in
244244
o.addDefaults()

0 commit comments

Comments
 (0)