diff options
author | EuAndreh <eu@euandre.org> | 2024-08-15 07:24:52 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2024-08-15 07:24:52 -0300 |
commit | b1bed38e5e0a261616343c7555962162416c28e2 (patch) | |
tree | 27102068178f8fb0edf3932e516221908928b940 | |
parent | Add src/version.go (diff) | |
download | gobang-b1bed38e5e0a261616343c7555962162416c28e2.tar.gz gobang-b1bed38e5e0a261616343c7555962162416c28e2.tar.xz |
src/gobang.go: Add args to Init() to log
-rw-r--r-- | src/gobang.go | 8 | ||||
-rw-r--r-- | 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) |