Skip to content

Commit c6adca8

Browse files
committed
Add output examples
1 parent 7e405b1 commit c6adca8

File tree

3 files changed

+83
-7
lines changed

3 files changed

+83
-7
lines changed

examples_test.go

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ func Example_stderr() {
1212
ctx := context.Background()
1313
stderrlog.Info(ctx, "my message here",
1414
slog.F("field_name", "something or the other"),
15-
slog.F("some_map", map[string]string{
15+
slog.F("some_map", map[string]interface{}{
1616
"nested_fields": "wowow",
1717
}),
1818
slog.F("some slice", []interface{}{
@@ -22,7 +22,25 @@ func Example_stderr() {
2222
true,
2323
}),
2424
slog.Component("test"),
25+
26+
slog.F("name", slog.ValueFunc(func() interface{} {
27+
return "wow"
28+
})),
2529
)
30+
31+
// test_test.go:38: Sep 06 14:04:33.028 [INFO]: my_message_here
32+
// field_name: something or the other
33+
// some_map:
34+
// nested_fields: wowow
35+
// error:
36+
// - msg: wrap2
37+
// loc: /Users/nhooyr/src/cdr/slog/test_test.go:43
38+
// fun: go.coder.com/slog_test.TestExampleStderr
39+
// - msg: wrap1
40+
// loc: /Users/nhooyr/src/cdr/slog/test_test.go:44
41+
// fun: go.coder.com/slog_test.TestExampleStderr
42+
// - EOF
43+
// name: wow
2644
}
2745

2846
func Example_test() {
@@ -46,4 +64,19 @@ func Example_test() {
4664
return "wow"
4765
})),
4866
)
67+
68+
// --- PASS: TestExampleTest (0.00s)
69+
// test_test.go:16: Sep 06 14:04:08.947 [INFO]: my_message_here
70+
// field_name: something or the other
71+
// some_map:
72+
// nested_fields: wowow
73+
// error:
74+
// - msg: wrap2
75+
// loc: /Users/nhooyr/src/cdr/slog/test_test.go:21
76+
// fun: go.coder.com/slog_test.TestExampleTest
77+
// - msg: wrap1
78+
// loc: /Users/nhooyr/src/cdr/slog/test_test.go:22
79+
// fun: go.coder.com/slog_test.TestExampleTest
80+
// - EOF
81+
// name: wow
4982
}

fields.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,13 @@ type parsedFields struct {
2626

2727
func parseFields(fields []Field) parsedFields {
2828
var l parsedFields
29-
l.fields = make(fieldMap, len(fields))
29+
l.fields = make(fieldMap, 0, len(fields))
3030

31-
for i := 0; i < len(fields); i++ {
32-
f := fields[i]
31+
for _, f := range fields {
32+
if s, ok := f.(componentField); ok {
33+
l.appendComponent(string(s))
34+
continue
35+
}
3336
l = l.appendField(f.LogKey(), f.LogValue())
3437
}
3538

test_test.go

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,54 @@
11
package slog_test
22

33
import (
4+
"context"
45
"go.coder.com/slog"
6+
"go.coder.com/slog/stderrlog"
57
"go.coder.com/slog/testlog"
68
"golang.org/x/xerrors"
9+
"io"
710
"testing"
811
)
912

10-
func TestTest(t *testing.T) {
11-
testlog.Info(t, "wow",
12-
slog.Error(xerrors.Errorf("wow")),
13+
func TestExampleStderr(t *testing.T) {
14+
t.Parallel()
15+
16+
ctx := context.Background()
17+
stderrlog.Info(ctx, "my message here",
18+
slog.F("field_name", "something or the other"),
19+
slog.F("some_map", map[string]interface{}{
20+
"nested_fields": "wowow",
21+
}),
22+
slog.Error(xerrors.Errorf("wrap2: %w",
23+
xerrors.Errorf("wrap1: %w",
24+
io.EOF,
25+
),
26+
)),
27+
slog.Component("test"),
28+
29+
slog.F("name", slog.ValueFunc(func() interface{} {
30+
return "wow"
31+
})),
32+
)
33+
}
34+
35+
func TestExampleTest(t *testing.T) {
36+
t.Parallel()
37+
38+
testlog.Info(t, "my message here",
39+
slog.F("field_name", "something or the other"),
40+
slog.F("some_map", map[string]interface{}{
41+
"nested_fields": "wowow",
42+
}),
43+
slog.Error(xerrors.Errorf("wrap2: %w",
44+
xerrors.Errorf("wrap1: %w",
45+
io.EOF,
46+
),
47+
)),
48+
slog.Component("test"),
49+
50+
slog.F("name", slog.ValueFunc(func() interface{} {
51+
return "wow"
52+
})),
1353
)
1454
}

0 commit comments

Comments
 (0)