fix: honor stderrthreshold on Windows entrypoint

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 <pierluigi.lenoci@gmail.com>
Signed-off-by: Pierluigi Lenoci <pierluigilenoci@gmail.com>
This commit is contained in:
Pierluigi Lenoci
2026-04-21 19:15:57 +02:00
committed by Ciprian Hacman
parent cc85ca1c59
commit 0c927ad8ec

View File

@@ -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":