From 3a33f6a3fa30ae9c8fcf3cd6b15847edc189d996 Mon Sep 17 00:00:00 2001 From: Jens-Uwe Mager Date: Tue, 25 Jun 2024 12:57:29 +0200 Subject: [PATCH] Need to check the value for nil here. --- ngcplogger.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/ngcplogger.go b/ngcplogger.go index de166b3..ed205d8 100644 --- a/ngcplogger.go +++ b/ngcplogger.go @@ -367,14 +367,22 @@ func (l *nGCPLogger) extractMsgFromPayload(m map[string]any) { func assertOrLog[T any](val any) T { var v T - var ok bool - v, ok = val.(T) - if !ok { + if val == nil { _, file, line, ok := runtime.Caller(1) if !ok { file = "unknown" } - slog.Error("unexpected type", "want", reflect.TypeOf(v).String(), "got", reflect.TypeOf(val).String(), "file", file, "line", line) + slog.Error("unexpected nil value", "file", file, "line", line) + } else { + var ok bool + v, ok = val.(T) + if !ok { + _, file, line, ok := runtime.Caller(1) + if !ok { + file = "unknown" + } + slog.Error("unexpected type", "want", reflect.TypeOf(v).String(), "got", reflect.TypeOf(val).String(), "file", file, "line", line) + } } return v }