From 994042567a22f9c2ba98d6c7d2b681c9570780a1 Mon Sep 17 00:00:00 2001 From: Aldo Culquicondor Date: Wed, 10 Aug 2022 17:56:31 -0400 Subject: [PATCH] Fix log depth for DelegatingLogSink --- examples/scratch-env/main.go | 9 ++++++--- pkg/log/deleg.go | 3 +++ pkg/log/zap/zap.go | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/examples/scratch-env/main.go b/examples/scratch-env/main.go index 13b8e03feb..b8305ffed3 100644 --- a/examples/scratch-env/main.go +++ b/examples/scratch-env/main.go @@ -21,10 +21,11 @@ import ( "os" flag "github.com/spf13/pflag" + "go.uber.org/zap" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/envtest" - "sigs.k8s.io/controller-runtime/pkg/log/zap" + logzap "sigs.k8s.io/controller-runtime/pkg/log/zap" ) var ( @@ -35,8 +36,9 @@ var ( // have a separate function so we can return an exit code w/o skipping defers func runMain() int { - loggerOpts := &zap.Options{ + loggerOpts := &logzap.Options{ Development: true, // a sane default + ZapOpts: []zap.Option{zap.AddCaller()}, } { var goFlagSet goflag.FlagSet @@ -44,7 +46,8 @@ func runMain() int { flag.CommandLine.AddGoFlagSet(&goFlagSet) } flag.Parse() - ctrl.SetLogger(zap.New(zap.UseFlagOptions(loggerOpts))) + ctrl.SetLogger(logzap.New(logzap.UseFlagOptions(loggerOpts))) + ctrl.Log.Info("Starting...") log := ctrl.Log.WithName("main") diff --git a/pkg/log/deleg.go b/pkg/log/deleg.go index 6fca630634..c72cb1fb30 100644 --- a/pkg/log/deleg.go +++ b/pkg/log/deleg.go @@ -73,6 +73,9 @@ func (p *loggerPromise) Fulfill(parentLogSink logr.LogSink) { p.logger.lock.Lock() p.logger.logger = sink + if withCallDepth, ok := sink.(logr.CallDepthLogSink); ok { + p.logger.logger = withCallDepth.WithCallDepth(1) + } p.logger.promise = nil p.logger.lock.Unlock() diff --git a/pkg/log/zap/zap.go b/pkg/log/zap/zap.go index 7db4cdda39..2f6824d77a 100644 --- a/pkg/log/zap/zap.go +++ b/pkg/log/zap/zap.go @@ -244,7 +244,7 @@ func NewRaw(opts ...Opts) *zap.Logger { // this basically mimics NewConfig, but with a custom sink sink := zapcore.AddSync(o.DestWriter) - o.ZapOpts = append(o.ZapOpts, zap.AddCallerSkip(1), zap.ErrorOutput(sink)) + o.ZapOpts = append(o.ZapOpts, zap.ErrorOutput(sink)) log := zap.New(zapcore.NewCore(&KubeAwareEncoder{Encoder: o.Encoder, Verbose: o.Development}, sink, o.Level)) log = log.WithOptions(o.ZapOpts...) return log