diamond-orm/internal/logging/custom_handler_test.go

35 lines
662 B
Go

package logging
import (
"context"
"log/slog"
"os"
"testing"
)
const LevelQ = slog.Level(-6)
func TestDoAFlip(t *testing.T) {
t.Name()
replacer := func(groups []string, a slog.Attr) slog.Attr {
if a.Key == slog.LevelKey {
level := a.Value.Any().(slog.Level)
switch level {
case LevelQ:
a.Value = slog.StringValue("q")
}
}
return a
}
h := NewFormattedHandler(os.Stderr, Options{
Format: "{{.Time}} [{{.Level}}] {{.Message}} | {{ rest }}",
Level: LevelQ,
ReplaceAttr: replacer,
})
logger := slog.New(h)
slog.SetDefault(logger)
logger.Debug("hello", "btfash", true)
logger.Log(context.TODO(), LevelQ, "hi")
}