From 194fa166ff3becec633ff090bc1a5bd5746c066d Mon Sep 17 00:00:00 2001 From: Niraj Yadav Date: Fri, 14 Feb 2025 16:10:43 +0530 Subject: [PATCH] sidecar: Use zap as logger for controller-runtime This commit sets zap as logger for controller runtime and klog. Setting a logger on controller runtime also fixes the error due to logger being unset when creating a new ctrl client in `newCSIAddonsNode`. Signed-off-by: Niraj Yadav --- sidecar/main.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sidecar/main.go b/sidecar/main.go index 2fdc3e6d9..955b498c1 100644 --- a/sidecar/main.go +++ b/sidecar/main.go @@ -30,9 +30,12 @@ import ( sideutil "github.com/csi-addons/kubernetes-csi-addons/sidecar/internal/util" "github.com/kubernetes-csi/csi-lib-utils/leaderelection" + "go.uber.org/zap/zapcore" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "k8s.io/klog/v2" + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/log/zap" ) func main() { @@ -64,8 +67,17 @@ func main() { klog.Exitf("failed to set logtostderr flag: %v", err) } + opts := zap.Options{ + Development: true, + TimeEncoder: zapcore.ISO8601TimeEncoder, + } + opts.BindFlags(flag.CommandLine) flag.Parse() + logger := zap.New(zap.UseFlagOptions(&opts)) + klog.SetLogger(logger) + ctrl.SetLogger(logger) + if *showVersion { version.PrintVersion() return