slog: DebugLevel = -4
This adds space between Debug and Info, enabling other levels
between them. It also makes the mapping to OpenTelemetry
simpler.
Change-Id: I5e7153815373dd01ec043bfd0db72d462f3366b3
Reviewed-on: https://go-review.googlesource.com/c/exp/+/442793
Run-TryBot: Jonathan Amsterdam <jba@google.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
diff --git a/slog/level.go b/slog/level.go
index c0cb0a1..9f0f2b8 100644
--- a/slog/level.go
+++ b/slog/level.go
@@ -35,13 +35,9 @@
// does not. But those OpenTelemetry levels can still be represented as slog
// Levels by using the appropriate integers.
//
-// The lack of a gap between Debug and Info doesn't follow the pattern.
-// It makes sense, though, that the first negative number is the start
-// of the Debug range.
-//
// Names for common levels.
const (
- DebugLevel Level = -1
+ DebugLevel Level = -4
InfoLevel Level = 0
WarnLevel Level = 4
ErrorLevel Level = 8
@@ -65,7 +61,7 @@
}
switch {
- case l <= DebugLevel:
+ case l < InfoLevel:
return str("DEBUG", l-DebugLevel)
case l < WarnLevel:
return str("INFO", l)
diff --git a/slog/level_test.go b/slog/level_test.go
index b9e6db1..b0a6013 100644
--- a/slog/level_test.go
+++ b/slog/level_test.go
@@ -20,7 +20,8 @@
{WarnLevel, "WARN"},
{WarnLevel - 1, "INFO+3"},
{InfoLevel, "INFO"},
- {InfoLevel - 3, "DEBUG-2"},
+ {InfoLevel + 1, "INFO+1"},
+ {InfoLevel - 3, "DEBUG+1"},
{DebugLevel, "DEBUG"},
{DebugLevel - 2, "DEBUG-2"},
} {