...
1 package slogjson_test
2
3 import (
4 "bytes"
5 "context"
6 "fmt"
7 "runtime"
8 "testing"
9
10 "go.opencensus.io/trace"
11
12 "cdr.dev/slog"
13 "cdr.dev/slog/internal/assert"
14 "cdr.dev/slog/internal/entryjson"
15 "cdr.dev/slog/sloggers/slogjson"
16 )
17
18 var _, slogjsonTestFile, _, _ = runtime.Caller(0)
19
20 var bg = context.Background()
21
22 func TestMake(t *testing.T) {
23 t.Parallel()
24
25 ctx, s := trace.StartSpan(bg, "meow")
26 b := &bytes.Buffer{}
27 l := slog.Make(slogjson.Sink(b))
28 l = l.Named("named")
29 l.Error(ctx, "line1\n\nline2", slog.F("wowow", "me\nyou"))
30
31 j := entryjson.Filter(b.String(), "ts")
32 exp := fmt.Sprintf(`{"level":"ERROR","msg":"line1\n\nline2","caller":"%v:29","func":"cdr.dev/slog/sloggers/slogjson_test.TestMake","logger_names":["named"],"trace":"%v","span":"%v","fields":{"wowow":"me\nyou"}}
33 `, slogjsonTestFile, s.SpanContext().TraceID, s.SpanContext().SpanID)
34 assert.Equal(t, "entry", exp, j)
35 }
36
View as plain text