From b1bed38e5e0a261616343c7555962162416c28e2 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Thu, 15 Aug 2024 07:24:52 -0300 Subject: src/gobang.go: Add args to Init() to log --- src/gobang.go | 8 ++++---- tests/gobang.go | 20 ++++++++++++++++++++ 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) -- cgit v1.2.3