keep printing attrs

This commit is contained in:
Denis Bilenko 2025-01-24 19:39:04 +01:00
parent 667876d78c
commit 6c203fb957
1 changed files with 24 additions and 20 deletions

View File

@ -188,29 +188,33 @@ func (h *friendlyHandler) Handle(ctx context.Context, r slog.Record) error {
state.appendf("%s ", h.coloredLevel(r))
state.append(h.sprint(ttyColorMessage, r.Message))
// Handle state from WithGroup and WithAttrs.
goas := h.goas
if r.NumAttrs() == 0 {
// If the record has no Attrs, remove groups at the end of the list; they are empty.
for len(goas) > 0 && goas[len(goas)-1].group != "" {
goas = goas[:len(goas)-1]
}
}
for _, goa := range goas {
if goa.group != "" {
state.openGroup(goa.group)
} else {
for _, a := range goa.attrs {
state.appendAttr(a)
if h.opts.Level.Level() <= slog.LevelDebug {
// Handle state from WithGroup and WithAttrs.
goas := h.goas
if r.NumAttrs() == 0 {
// If the record has no Attrs, remove groups at the end of the list; they are empty.
for len(goas) > 0 && goas[len(goas)-1].group != "" {
goas = goas[:len(goas)-1]
}
}
for _, goa := range goas {
if goa.group != "" {
state.openGroup(goa.group)
} else {
for _, a := range goa.attrs {
state.appendAttr(a)
}
}
}
}
// Add attributes from the record.
r.Attrs(func(a slog.Attr) bool {
state.appendAttr(a)
return true
})
// Add attributes from the record.
r.Attrs(func(a slog.Attr) bool {
state.appendAttr(a)
return true
})
}
// Add newline.
state.append("\n")