From 4fa90a8294b3c59d27c47f167c1f195de76e40df Mon Sep 17 00:00:00 2001 From: Snider Date: Wed, 18 Mar 2026 13:28:01 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20guard=20ErrLog=20against=20nil=20Log=20?= =?UTF-8?q?=E2=80=94=20falls=20back=20to=20defaultLog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Virgil --- pkg/core/error.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkg/core/error.go b/pkg/core/error.go index b0e6077..40ce94c 100644 --- a/pkg/core/error.go +++ b/pkg/core/error.go @@ -251,13 +251,20 @@ func NewErrLog(opts *ErrOpts) *ErrLog { return &ErrLog{opts} } +func (el *ErrLog) log() *Log { + if el.ErrOpts != nil && el.Log != nil { + return el.Log + } + return defaultLog +} + // Error logs at Error level and returns a wrapped error. func (el *ErrLog) Error(err error, op, msg string) error { if err == nil { return nil } wrapped := Wrap(err, op, msg) - el.Log.Error(msg, "op", op, "err", err) + el.log().Error(msg, "op", op, "err", err) return wrapped } @@ -267,14 +274,14 @@ func (el *ErrLog) Warn(err error, op, msg string) error { return nil } wrapped := Wrap(err, op, msg) - el.Log.Warn(msg, "op", op, "err", err) + el.log().Warn(msg, "op", op, "err", err) return wrapped } // Must logs and panics if err is not nil. func (el *ErrLog) Must(err error, op, msg string) { if err != nil { - el.Log.Error(msg, "op", op, "err", err) + el.log().Error(msg, "op", op, "err", err) panic(Wrap(err, op, msg)) } }