From 2e99d692c102ef21f96c7d7397807295adc2f4a8 Mon Sep 17 00:00:00 2001 From: Denis Mishankov Date: Sun, 1 Mar 2026 22:21:11 +0300 Subject: [PATCH] Fix #64: Omit empty steps and errors from wide event logs --- log/event.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/log/event.go b/log/event.go index 2f58eeb..27f7d5b 100644 --- a/log/event.go +++ b/log/event.go @@ -175,10 +175,16 @@ func (e *Event) toAttrs(additionalReservedAttrKeys []string) []slog.Attr { slog.String("name", e.name), slog.Time("timestamp", e.timestamp), slog.Duration("duration", e.duration), - slog.Any("steps", steps), - slog.Any("errors", eventErrors), ) + if len(steps) > 0 { + attrs = append(attrs, slog.Any("steps", steps)) + } + + if len(eventErrors) > 0 { + attrs = append(attrs, slog.Any("errors", eventErrors)) + } + reservedSet := make(map[string]struct{}, len(reservedAttrKeys)) for _, k := range reservedAttrKeys { reservedSet[k] = struct{}{}