如何增加 klog 级别的详细程度?

我正在使用 kubernetes 示例控制器,我想增加日志详细程度

在启动控制器时我尝试过./sample-controller -kubeconfig=kubeconfig.yaml -v=8

klog 是否需要在 flag.Parse() 步骤中传递一个标志,或者我可以设置一些环境变量来提高日志级别吗?


临摹微笑
浏览 416回答 1
1回答

肥皂起泡泡

此 PR https://github.com/kubernetes/kubernetes/pull/79219/files中的 klog.InitFlags(nil) 修复了此问题

aluckdog

从他们的源代码:   flagset.Var(&logging.verbosity, "v", "number for the log level verbosity").    // get returns the value of the Level.    func (l *Level) get() Level {        return Level(atomic.LoadInt32((*int32)(l)))    }所以答案是肯定的,您所需要做的就是使用 v 标志。对于 VLOG,详细级别越低,记录的消息就越有可能。例如,如果 --v==1,则 VLOG(1) 将记录,但 VLOG(2) 将不记录。这与严重性级别相反,其中 INFO 为 0,ERROR 为 2。 --minloglevel 为 1 将记录 WARNING 及以上。尽管您可以为 VLOG 宏和 --v 标志指定任何整数,但它们的常见值为小正整数。例如,如果您写入 VLOG(0),则应指定 --v=-1 或更低值以使其静音。这不太有用,因为在大多数情况下我们可能不需要默认的详细日志。VLOG 宏始终以 INFO 日志级别记录(当它们记录时)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go