From 02f4f1c49cdcbc3e545723dd4153316cf7888227 Mon Sep 17 00:00:00 2001 From: Reza Mokaram Date: Sat, 26 Jul 2025 19:13:12 +0330 Subject: [PATCH] feat(slog-integration) - rows and err include in logs for slog logger --- logger/slog.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/logger/slog.go b/logger/slog.go index 53eb0828..a1633e19 100644 --- a/logger/slog.go +++ b/logger/slog.go @@ -60,10 +60,16 @@ func (l *slogLogger) Trace(ctx context.Context, begin time.Time, fc func() (sql sql, rows := fc() fields := []slog.Attr{ slog.String("duration", fmt.Sprintf("%.3fms", float64(elapsed.Nanoseconds())/1e6)), - slog.Int64("rows", rows), slog.String("sql", sql), } + if rows != -1 { + fields = append(fields, slog.Int64("rows", rows)) + } + if err != nil { + fields = append(fields, slog.String("error", err.Error())) + } + switch { case err != nil && (!l.IgnoreRecordNotFoundError || !errors.Is(err, ErrRecordNotFound)): l.Logger.ErrorContext(ctx, "SQL executed", slog.Attr{