From a82984232020f147d9b58f8225c19365be1bc205 Mon Sep 17 00:00:00 2001 From: adrianc Date: Thu, 26 Oct 2023 19:37:33 +0300 Subject: [PATCH] log fixes after move to zap logger - fix logging format - initialize logger to log line number - deal with log level update in daemon Signed-off-by: adrianc --- api/v1/helper.go | 2 +- cmd/sriov-network-config-daemon/main.go | 9 ++++++++- cmd/sriov-network-config-daemon/start.go | 2 +- pkg/daemon/daemon.go | 15 +++++++++++---- pkg/service/utils.go | 2 +- pkg/utils/utils.go | 4 ++-- 6 files changed, 24 insertions(+), 10 deletions(-) diff --git a/api/v1/helper.go b/api/v1/helper.go index 614fa45200..711ea6f8ea 100644 --- a/api/v1/helper.go +++ b/api/v1/helper.go @@ -121,7 +121,7 @@ func IsSupportedModel(vendorID, deviceID string) bool { return true } } - log.Info("IsSupportedModel():", "Unsupported model:", "vendorId:", vendorID, "deviceId:", deviceID) + log.Info("IsSupportedModel(): found unsupported model", "vendorId:", vendorID, "deviceId:", deviceID) return false } diff --git a/cmd/sriov-network-config-daemon/main.go b/cmd/sriov-network-config-daemon/main.go index 17bdcc9172..a044b55c48 100644 --- a/cmd/sriov-network-config-daemon/main.go +++ b/cmd/sriov-network-config-daemon/main.go @@ -19,6 +19,7 @@ import ( "flag" "github.com/spf13/cobra" + zzap "go.uber.org/zap" "go.uber.org/zap/zapcore" "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/log/zap" @@ -37,7 +38,13 @@ var ( opts = &zap.Options{ Development: true, - TimeEncoder: zapcore.RFC3339NanoTimeEncoder, + // we dont log with panic level, so this essentially + // disables stacktrace, for now, it avoids un-needed clutter in logs + StacktraceLevel: zapcore.DPanicLevel, + TimeEncoder: zapcore.RFC3339NanoTimeEncoder, + // log caller (file and line number) in "caller" key + EncoderConfigOptions: []zap.EncoderConfigOption{func(ec *zapcore.EncoderConfig) { ec.CallerKey = "caller" }}, + ZapOpts: []zzap.Option{zzap.AddCaller(), zzap.AddCallerSkip(1)}, } ) diff --git a/cmd/sriov-network-config-daemon/start.go b/cmd/sriov-network-config-daemon/start.go index 85709dcd53..68f3008ab1 100644 --- a/cmd/sriov-network-config-daemon/start.go +++ b/cmd/sriov-network-config-daemon/start.go @@ -184,7 +184,7 @@ func runStartCmd(cmd *cobra.Command, args []string) error { setupLog.Error(err, "failed to fetch node state, exiting", "node-name", startOpts.nodeName) return err } - setupLog.V(0).Info("Running on platform: %s", platformType.String()) + setupLog.Info("Running on", "platform", platformType.String()) var namespace = os.Getenv("NAMESPACE") if err := sriovnetworkv1.InitNicIDMapFromConfigMap(kubeclient, namespace); err != nil { diff --git a/pkg/daemon/daemon.go b/pkg/daemon/daemon.go index 65483ee4f2..afa20119fb 100644 --- a/pkg/daemon/daemon.go +++ b/pkg/daemon/daemon.go @@ -183,7 +183,7 @@ func New( log.Log.Info(fmt.Sprintf("%s pod from Node %s/%s", verbStr, pod.Namespace, pod.Name)) }, Out: writer{log.Log.Info}, - ErrOut: writer{func(msg string, kv ...interface{}) { log.Log.Error(nil, msg, kv) }}, + ErrOut: writer{func(msg string, kv ...interface{}) { log.Log.Error(nil, msg, kv...) }}, Ctx: context.Background(), }, workqueue: workqueue.NewNamedRateLimitingQueue(workqueue.NewMaxOfRateLimiter( @@ -425,11 +425,18 @@ func (dn *Daemon) operatorConfigAddHandler(obj interface{}) { func (dn *Daemon) operatorConfigChangeHandler(old, new interface{}) { newCfg := new.(*sriovnetworkv1.SriovOperatorConfig) - newLevel := newCfg.Spec.LogLevel - if !log.Log.GetSink().Enabled(newLevel) { + newLevel := strconv.Itoa(newCfg.Spec.LogLevel) + currLevel := flag.Lookup("zap-log-level").Value.String() + if newLevel != currLevel { log.Log.Info("Set log verbose level", "level", newLevel) - flag.Set("zap-log-level", strconv.Itoa(newLevel)) + flag.Set("zap-log-level", newLevel) + } else { + log.Log.Info("current and new levels are the same") } + log.Log.Info("I am default info level") + log.Log.V(0).Info("I am zero verbosity info level") + log.Log.V(1).Info("I am 1 verbosity info level") + log.Log.V(2).Info("I am 2 verbosity info level") newDisableDrain := newCfg.Spec.DisableDrain if dn.disableDrain != newDisableDrain { dn.disableDrain = newDisableDrain diff --git a/pkg/service/utils.go b/pkg/service/utils.go index 0656b778ab..4abeae553c 100644 --- a/pkg/service/utils.go +++ b/pkg/service/utils.go @@ -30,7 +30,7 @@ OUTER: continue OUTER } } - log.Log.V(3).Info("CompareServices", "ServiceA", optsA, "ServiceB", *optB) + log.Log.V(2).Info("CompareServices", "ServiceA", optsA, "ServiceB", *optB) return true, nil } diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index 150ba2d77c..051a4aebbb 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -900,7 +900,7 @@ func IsKernelLockdownMode(chroot bool) bool { path = "/host" + path } out, err := RunCommand("cat", path) - log.Log.V(2).Info("IsKernelLockdownMode()", "output", out, "error", err.Error()) + log.Log.V(2).Info("IsKernelLockdownMode()", "output", out, "error", err) if err != nil { return false } @@ -917,7 +917,7 @@ func RunCommand(command string, args ...string) (string, error) { cmd.Stderr = &stderr err := cmd.Run() - log.Log.V(2).Info("RunCommand()", "output", stdout.String(), "error", err.Error()) + log.Log.V(2).Info("RunCommand()", "output", stdout.String(), "error", err) return stdout.String(), err }