summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2024-08-15 07:24:52 -0300
committerEuAndreh <eu@euandre.org>2024-08-15 07:24:52 -0300
commitb1bed38e5e0a261616343c7555962162416c28e2 (patch)
tree27102068178f8fb0edf3932e516221908928b940
parentAdd src/version.go (diff)
downloadgobang-b1bed38e5e0a261616343c7555962162416c28e2.tar.gz
gobang-b1bed38e5e0a261616343c7555962162416c28e2.tar.xz
src/gobang.go: Add args to Init() to log
-rw-r--r--src/gobang.go8
-rw-r--r--tests/gobang.go20
2 files changed, 24 insertions, 4 deletions
diff --git a/src/gobang.go b/src/gobang.go
index eec94b0..a8707a1 100644
--- a/src/gobang.go
+++ b/src/gobang.go
@@ -754,7 +754,7 @@ func AssertEqualI(i int, given any, expected any) {
}
var unfilteringLevel = new(slog.LevelVar)
-func setLoggerOutput(w io.Writer) {
+func setLoggerOutput(w io.Writer, args ...any) {
unfilteringLevel.Set(slog.LevelDebug)
slog.SetDefault(slog.New(slog.NewJSONHandler(w, &slog.HandlerOptions {
Level: unfilteringLevel,
@@ -765,7 +765,7 @@ func setLoggerOutput(w io.Writer) {
"ppid", os.Getppid(),
"puuid", NewUUID().String(),
),
- ))
+ ).With(args...))
}
func levelFromString(name string, fallback logLevel) logLevel {
@@ -833,8 +833,8 @@ func setHostname() {
FatalIf(err)
}
-func Init() {
- setLoggerOutput(os.Stdout)
+func Init(args ...any) {
+ setLoggerOutput(os.Stdout, args...)
setLogLevel()
setMetric()
setTraceback()
diff --git a/tests/gobang.go b/tests/gobang.go
index 842b95a..ef07271 100644
--- a/tests/gobang.go
+++ b/tests/gobang.go
@@ -1042,6 +1042,26 @@ func test_setLoggerOutput() {
ErrorIf(err)
})
+ Testing("we can add groups to the default logger", func() {
+ s := new(strings.Builder)
+ setLoggerOutput(s, slog.Group("one", "key", "value"))
+ Info("", "")
+
+ var data map[string]interface{}
+ err := json.Unmarshal([]byte(s.String()), &data)
+ ErrorIf(err)
+
+ oneRaw, ok := data["one"]
+ AssertEqual(ok, true)
+ one, ok := oneRaw.(map[string]interface{})
+ AssertEqual(ok, true)
+
+ keyRaw, ok := one["key"]
+ AssertEqual(ok, true)
+ key, ok := keyRaw.(string)
+ AssertEqual(key, "value")
+ })
+
Testing("the puuid is the same across calls to the logger", func() {
s := new(strings.Builder)
setLoggerOutput(s)