Skip to content

Commit f59d3fa

Browse files
committed
log/slog: make examples playable
Fixes #69246
1 parent 2c16041 commit f59d3fa

File tree

5 files changed

+28
-26
lines changed

5 files changed

+28
-26
lines changed

src/log/slog/example_discard_test.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,20 @@ package slog_test
66

77
import (
88
"log/slog"
9-
"log/slog/internal/slogtest"
109
"os"
1110
)
1211

1312
func Example_discardHandler() {
13+
removeTime := func(groups []string, a slog.Attr) slog.Attr {
14+
if a.Key == slog.TimeKey && len(groups) == 0 {
15+
return slog.Attr{}
16+
}
17+
return a
18+
}
1419
// A slog.TextHandler can output log messages.
1520
logger1 := slog.New(slog.NewTextHandler(
1621
os.Stdout,
17-
&slog.HandlerOptions{ReplaceAttr: slogtest.RemoveTime},
22+
&slog.HandlerOptions{ReplaceAttr: removeTime},
1823
))
1924
logger1.Info("message 1")
2025

src/log/slog/example_level_handler_test.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ package slog_test
77
import (
88
"context"
99
"log/slog"
10-
"log/slog/internal/slogtest"
1110
"os"
1211
)
1312

@@ -63,7 +62,13 @@ func (h *LevelHandler) Handler() slog.Handler {
6362
// Another typical use would be to decrease the log level (to LevelDebug, say)
6463
// during a part of the program that was suspected of containing a bug.
6564
func ExampleHandler_levelHandler() {
66-
th := slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{ReplaceAttr: slogtest.RemoveTime})
65+
removeTime := func(groups []string, a slog.Attr) slog.Attr {
66+
if a.Key == slog.TimeKey && len(groups) == 0 {
67+
return slog.Attr{}
68+
}
69+
return a
70+
}
71+
th := slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{ReplaceAttr: removeTime})
6772
logger := slog.New(NewLevelHandler(slog.LevelWarn, th))
6873
logger.Info("not printed")
6974
logger.Warn("printed")

src/log/slog/example_log_level_test.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ package slog_test
77
import (
88
"log"
99
"log/slog"
10-
"log/slog/internal/slogtest"
1110
"os"
1211
)
1312

@@ -49,7 +48,13 @@ func ExampleSetLogLoggerLevel_slog() {
4948
defer slog.SetLogLoggerLevel(currentLogLevel) // revert changes after the example
5049

5150
defer slog.SetDefault(slog.Default()) // revert changes after the example
52-
slog.SetDefault(slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{ReplaceAttr: slogtest.RemoveTime})))
51+
removeTime := func(groups []string, a slog.Attr) slog.Attr {
52+
if a.Key == slog.TimeKey && len(groups) == 0 {
53+
return slog.Attr{}
54+
}
55+
return a
56+
}
57+
slog.SetDefault(slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{ReplaceAttr: removeTime})))
5358

5459
log.Print("error") // level=ERROR msg=error
5560

src/log/slog/example_logvaluer_secret_test.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ package slog_test
66

77
import (
88
"log/slog"
9-
"log/slog/internal/slogtest"
109
"os"
1110
)
1211

@@ -23,7 +22,13 @@ func (Token) LogValue() slog.Value {
2322
// with an alternative representation to avoid revealing secrets.
2423
func ExampleLogValuer_secret() {
2524
t := Token("shhhh!")
26-
logger := slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{ReplaceAttr: slogtest.RemoveTime}))
25+
removeTime := func(groups []string, a slog.Attr) slog.Attr {
26+
if a.Key == slog.TimeKey && len(groups) == 0 {
27+
return slog.Attr{}
28+
}
29+
return a
30+
}
31+
logger := slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{ReplaceAttr: removeTime}))
2732
logger.Info("permission granted", "user", "Perry", "token", t)
2833

2934
// Output:

src/log/slog/internal/slogtest/slogtest.go

-18
This file was deleted.

0 commit comments

Comments
 (0)