From 41e414bebd6792d668718ba27ac1d5fa9aef78f8 Mon Sep 17 00:00:00 2001 From: Pierluigi Lenoci Date: Thu, 23 Apr 2026 17:41:18 +0200 Subject: [PATCH] fix: honor -stderrthreshold when -logtostderr is set klog v2 defaults -logtostderr to true, which silently causes -stderrthreshold to be ignored. klog v2.140.0 introduced the legacy_stderr_threshold_behavior flag that restores the correct interaction between the two flags (see kubernetes/klog#432). This commit sets legacy_stderr_threshold_behavior=false after klog.InitFlags in cmd/root.go and sets stderrthreshold=INFO so the default behavior is preserved but users can now override it on the command line. Ref: kubernetes/klog#212 Signed-off-by: Pierluigi Lenoci Signed-off-by: Pierluigi Lenoci --- cmd/root.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmd/root.go b/cmd/root.go index 858cf6a6..3c5fe14c 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -38,6 +38,11 @@ func init() { rootCmd.PersistentFlags().StringVarP(&kubeconfig, "kubeconfig", "", "$HOME/.kube/config", "Kubeconfig location.") klog.InitFlags(nil) + // Opt into the new klog behavior so that -stderrthreshold is honored even + // when -logtostderr=true (the default). + // Ref: kubernetes/klog#212, kubernetes/klog#432 + flag.Set("legacy_stderr_threshold_behavior", "false") //nolint:errcheck + flag.Set("stderrthreshold", "INFO") //nolint:errcheck pflag.CommandLine.AddGoFlag(flag.CommandLine.Lookup("v")) environmentVariables := map[string]string{