databricks-cli/libs/log/replace_attr.go

19 lines
576 B
Go
Raw Permalink Normal View History

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
}