Skip to content

Commit 9a8f6cf

Browse files
authored
Merge pull request kubernetes#92394 from rahulchheda/validateLogFormat
(feat) Add validation for Unsupported Loggings Flags for component-base
2 parents 6e06586 + d13e71c commit 9a8f6cf

File tree

1 file changed

+25
-3
lines changed

1 file changed

+25
-3
lines changed

staging/src/k8s.io/component-base/logs/options.go

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,34 @@ func NewOptions() *Options {
5050
}
5151
}
5252

53-
// Validate check LogFormat in registry or not
53+
// Validate verifies if any unsupported flag is set
54+
// for non-default logging format
5455
func (o *Options) Validate() []error {
56+
errs := []error{}
57+
if o.LogFormat != defaultLogFormat {
58+
allFlags := unsupportedLoggingFlags()
59+
for _, fname := range allFlags {
60+
if flagIsSet(fname) {
61+
errs = append(errs, fmt.Errorf("non-default logging format doesn't honor flag: %s", fname))
62+
}
63+
}
64+
}
5565
if _, err := o.Get(); err != nil {
56-
return []error{fmt.Errorf("unsupported log format: %s", o.LogFormat)}
66+
errs = append(errs, fmt.Errorf("unsupported log format: %s", o.LogFormat))
67+
}
68+
return errs
69+
}
70+
71+
func flagIsSet(name string) bool {
72+
f := flag.Lookup(name)
73+
if f != nil {
74+
return f.DefValue != f.Value.String()
75+
}
76+
pf := pflag.Lookup(name)
77+
if pf != nil {
78+
return pf.DefValue != pf.Value.String()
5779
}
58-
return nil
80+
panic("failed to lookup unsupported log flag")
5981
}
6082

6183
// AddFlags add logging-format flag

0 commit comments

Comments
 (0)