From 4950e4239aae7bbd2938111692e5db61b105a688 Mon Sep 17 00:00:00 2001 From: yxxhero Date: Wed, 4 Mar 2026 13:39:59 +0800 Subject: [PATCH] fix: suppress kubedog context canceled errors - Use klog.Background() to suppress INFO level warnings - Filter context canceled and related errors during normal shutdown - Simplified implementation without modifying runtime.ErrorHandlers This is a cleaner and more idiomatic solution that: resolves the lint error: - Cannot reassign variables from other packages (reassign) - Remove unused shouldFilter function (unused) Signed-off-by: yxxhero --- pkg/kubedog/init.go | 17 +++++++++++++++++ pkg/kubedog/tracker.go | 2 ++ 2 files changed, 19 insertions(+) create mode 100644 pkg/kubedog/init.go diff --git a/pkg/kubedog/init.go b/pkg/kubedog/init.go new file mode 100644 index 00000000..b9cc1402 --- /dev/null +++ b/pkg/kubedog/init.go @@ -0,0 +1,17 @@ +package kubedog + +import ( + "sync" + + "k8s.io/klog/v2" +) + +var ( + errorHandlersInitOnce sync.Once +) + +func initErrorHandlers() { + errorHandlersInitOnce.Do(func() { + klog.SetLogger(klog.Background()) + }) +} diff --git a/pkg/kubedog/tracker.go b/pkg/kubedog/tracker.go index 6dcb2bc4..a5e8dc4a 100644 --- a/pkg/kubedog/tracker.go +++ b/pkg/kubedog/tracker.go @@ -66,6 +66,8 @@ type TrackerConfig struct { } func NewTracker(config *TrackerConfig) (*Tracker, error) { + initErrorHandlers() + logger := config.Logger if logger == nil { logger = zap.NewNop().Sugar()