type Config … // Verbosity returns a value instance that can be used to query (via String) or // modify (via Set) the verbosity threshold. This is thread-safe and can be // done at runtime. func (c *Config) Verbosity() flag.Value { … } // VModule returns a value instance that can be used to query (via String) or // modify (via Set) the vmodule settings. This is thread-safe and can be done // at runtime. func (c *Config) VModule() flag.Value { … } type ConfigOption … type configOptions … // AnyToString overrides the default formatter for values that are not // supported directly by klog. The default is `fmt.Sprintf("%+v")`. // The formatter must not panic. func AnyToString(anyToString func(value interface{ … } // VerbosityFlagName overrides the default -testing.v for the verbosity level. func VerbosityFlagName(name string) ConfigOption { … } // VModulFlagName overrides the default -testing.vmodule for the per-module // verbosity levels. func VModuleFlagName(name string) ConfigOption { … } // Verbosity overrides the default verbosity level of 5. That default is higher // than in klog itself because it enables logging entries for "the steps // leading up to errors and warnings" and "troubleshooting" (see // https://github.com/kubernetes/community/blob/9406b4352fe2d5810cb21cc3cb059ce5886de157/contributors/devel/sig-instrumentation/logging.md#logging-conventions), // which is useful when debugging a failed test. `go test` only shows the log // output for failed tests. To see all output, use `go test -v`. func Verbosity(level int) ConfigOption { … } // BufferLogs controls whether log entries are captured in memory in addition // to being printed. Off by default. Unit tests that want to verify that // log entries are emitted as expected can turn this on and then retrieve // the captured log through the Underlier LogSink interface. func BufferLogs(enabled bool) ConfigOption { … } // NewConfig returns a configuration with recommended defaults and optional // modifications. Command line flags are not bound to any FlagSet yet. func NewConfig(opts ...ConfigOption) *Config { … } // AddFlags registers the command line flags that control the configuration. func (c *Config) AddFlags(fs *flag.FlagSet) { … }