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 … // VerbosityFlagName overrides the default -v for the verbosity level. func VerbosityFlagName(name string) ConfigOption { … } // VModulFlagName overrides the default -vmodule for the per-module // verbosity levels. func VModuleFlagName(name string) ConfigOption { … } // Verbosity overrides the default verbosity level of 0. // See https://github.com/kubernetes/community/blob/9406b4352fe2d5810cb21cc3cb059ce5886de157/contributors/devel/sig-instrumentation/logging.md#logging-conventions // for log level conventions in Kubernetes. func Verbosity(level int) ConfigOption { … } // Output overrides stderr as the output stream. func Output(output io.Writer) ConfigOption { … } // FixedTime overrides the actual time with a fixed time. Useful only for testing. // // # Experimental // // Notice: This function is EXPERIMENTAL and may be changed or removed in a // later release. func FixedTime(ts time.Time) ConfigOption { … } // Backtrace overrides the default mechanism for determining the call site. // The callback is invoked with the number of function calls between itself // and the call site. It must return the file name and line number. An empty // file name indicates that the information is unknown. // // # Experimental // // Notice: This function is EXPERIMENTAL and may be changed or removed in a // later release. func Backtrace(unwind func(skip int) (filename string, line int)) 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. // // The default flag names are the same as in klog, so unless those defaults // are changed, either klog.InitFlags or Config.AddFlags can be used for the // same flag set, but not both. func (c *Config) AddFlags(fs *flag.FlagSet) { … }