9 "go.cypherpunks.ru/recfile"
12 func TestBasic(t *testing.T) {
14 logger := slog.New(NewRecfileHandler(
21 if !logger.Enabled(nil, slog.LevelWarn) {
24 logger.Info("won't catch me")
25 logger.Warn("catch me")
27 r := recfile.NewReader(&buf)
32 if m["Message"] != "catch me" {
35 if m["Urgency"] != "WARN" {
38 if _, err = time.Parse(time.RFC3339Nano, m["Time"]); err != nil {
43 func TestTrimmed(t *testing.T) {
45 logger := slog.New(NewRecfileHandler(&buf, slog.LevelWarn, "", "Message", ""))
46 logger.Warn("catch me")
47 r := recfile.NewReader(&buf)
52 if m["Message"] != "catch me" {
55 if m["Urgency"] != "" {
63 func TestFeatured(t *testing.T) {
65 logger := slog.New(NewRecfileHandler(&buf, slog.LevelInfo, "L", "M", "T"))
66 logger.WithGroup("grou").WithGroup("py").With("foo", "bar").With("bar", "baz").Info(
67 "catch me", "baz", []string{"multi", "line"},
69 r := recfile.NewReader(&buf)
74 if m["M"] != "catch me" {
80 if _, err = time.Parse(time.RFC3339Nano, m["T"]); err != nil {
83 if m["grou_py_foo"] != "bar" {
86 if m["grou_py_bar"] != "baz" {
89 if m["grou_py_baz"] != "multi\nline" {