From 0c927ad8ec93a2f3767910f243a9d38752173a0a Mon Sep 17 00:00:00 2001 From: Pierluigi Lenoci Date: Tue, 21 Apr 2026 19:15:57 +0200 Subject: [PATCH] fix: honor stderrthreshold on Windows entrypoint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Unix entrypoint already sets legacy_stderr_threshold_behavior=false and stderrthreshold=INFO, but the Windows entrypoint was missed. klog v2 defaults -logtostderr to true. When active, -stderrthreshold is silently ignored — all log levels are unconditionally sent to stderr. Setting legacy_stderr_threshold_behavior=false enables the fix so that -stderrthreshold is honored even when -logtostderr=true. Ref: kubernetes/klog#212, kubernetes/klog#432 Signed-off-by: Pierluigi Lenoci Signed-off-by: Pierluigi Lenoci --- cmd/nodeproblemdetector/node_problem_detector_windows.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmd/nodeproblemdetector/node_problem_detector_windows.go b/cmd/nodeproblemdetector/node_problem_detector_windows.go index 8acfbfcb..323fbf1c 100644 --- a/cmd/nodeproblemdetector/node_problem_detector_windows.go +++ b/cmd/nodeproblemdetector/node_problem_detector_windows.go @@ -46,6 +46,9 @@ var ( func main() { klogFlags := flag.NewFlagSet("klog", flag.ExitOnError) klog.InitFlags(klogFlags) + // Opt into fixed stderrthreshold behavior (kubernetes/klog#212). + _ = klogFlags.Set("legacy_stderr_threshold_behavior", "false") + _ = klogFlags.Set("stderrthreshold", "INFO") klogFlags.VisitAll(func(f *flag.Flag) { switch f.Name { case "v", "vmodule", "logtostderr":