From d8e43d59fc6b433a9d8646588fbaf82d1340f2c4 Mon Sep 17 00:00:00 2001 From: Pierluigi Lenoci Date: Thu, 23 Apr 2026 11:46:12 +0200 Subject: [PATCH 1/2] fix: honor klog -stderrthreshold even when -logtostderr is true MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit klog v2 defaults -logtostderr to true, which silently ignores -stderrthreshold — all log levels go to stderr unconditionally. This has been an open issue since 2020 (kubernetes/klog#212). klog v2.140.0 introduced a fix behind an opt-in flag (legacy_stderr_threshold_behavior). This commit enables the fix so that -stderrthreshold is honored, while preserving the current default behavior (stderrthreshold=INFO means all logs still go to stderr unless the user overrides it on the command line). Ref: kubernetes/klog#212 Ref: kubernetes/klog#432 Signed-off-by: Pierluigi Lenoci --- backend/internal/errorcapture/error_capture.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/backend/internal/errorcapture/error_capture.go b/backend/internal/errorcapture/error_capture.go index 0bebaeb90..f48cb1df4 100644 --- a/backend/internal/errorcapture/error_capture.go +++ b/backend/internal/errorcapture/error_capture.go @@ -68,6 +68,11 @@ func Init() { klogFlags := flag.NewFlagSet("klog", flag.ContinueOnError) klog.InitFlags(klogFlags) + // Opt into the new klog behavior so that -stderrthreshold is honored even + // when -logtostderr=true (the default). + // Ref: kubernetes/klog#212, kubernetes/klog#432 + klogFlags.Set("legacy_stderr_threshold_behavior", "false") + klogFlags.Set("stderrthreshold", "INFO") klogFlags.Set("logtostderr", "true") klogFlags.Set("stderrthreshold", "0") klogFlags.Set("v", "2") From 4a183016c6b254f11e214b5c7503ed296735e9d7 Mon Sep 17 00:00:00 2001 From: Pierluigi Lenoci Date: Fri, 24 Apr 2026 12:36:16 +0200 Subject: [PATCH 2/2] fix: remove duplicate stderrthreshold setting in Init() The "INFO" string form (line 75) and the numeric "0" form were both setting the same klog severity level. Keep the human-readable "INFO" that sits next to the explanatory comment and drop the redundant "0". Signed-off-by: Pierluigi Lenoci Signed-off-by: Pierluigi Lenoci --- backend/internal/errorcapture/error_capture.go | 1 - 1 file changed, 1 deletion(-) diff --git a/backend/internal/errorcapture/error_capture.go b/backend/internal/errorcapture/error_capture.go index f48cb1df4..7dcea7fae 100644 --- a/backend/internal/errorcapture/error_capture.go +++ b/backend/internal/errorcapture/error_capture.go @@ -74,7 +74,6 @@ func Init() { klogFlags.Set("legacy_stderr_threshold_behavior", "false") klogFlags.Set("stderrthreshold", "INFO") klogFlags.Set("logtostderr", "true") - klogFlags.Set("stderrthreshold", "0") klogFlags.Set("v", "2") global.start()