package log import "golang.org/x/exp/slog" type ReplaceAttrFunction func(groups []string, a slog.Attr) slog.Attr // ReplaceAttrFunctions enables grouping functions that replace attributes // from a [slog.Handler]. Useful when multiple attributes need replacing. type ReplaceAttrFunctions []ReplaceAttrFunction // ReplaceAttr can be used as a value to pass to a handler to combine // multiple functions to replace attributes. func (fns ReplaceAttrFunctions) ReplaceAttr(groups []string, a slog.Attr) slog.Attr { for _, fn := range fns { a = fn(groups, a) } return a }