osbase/logtree.LeveledLogger -> go/logging.Leveled
This factors out the common leveled logger interface out of the logtree.
We want to use the same interface outside of logtree/supervisor usage
within the resolver code, which will be exposed to clients.
Change-Id: I299e76d91e8cefddf8f36f1e58432418c4694df2
Reviewed-on: https://review.monogon.dev/c/monogon/+/3411
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
Tested-by: Jenkins CI
diff --git a/osbase/logtree/zap.go b/osbase/logtree/zap.go
index f3ae6e3..82e6dda 100644
--- a/osbase/logtree/zap.go
+++ b/osbase/logtree/zap.go
@@ -10,13 +10,14 @@
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
+ "source.monogon.dev/go/logging"
"source.monogon.dev/osbase/logbuffer"
)
// Zapify turns a LeveledLogger into a zap.Logger which pipes its output into the
// LeveledLogger. The message, severity and caller are carried over. Extra fields
// are appended as JSON to the end of the log line.
-func Zapify(logger LeveledLogger, minimumLevel zapcore.Level) *zap.Logger {
+func Zapify(logger logging.Leveled, minimumLevel zapcore.Level) *zap.Logger {
p, ok := logger.(*leveledPublisher)
if !ok {
// Fail fast, as this is a programming error.
@@ -71,7 +72,7 @@
type zapEntry struct {
message string
- severity Severity
+ severity logging.Severity
time time.Time
file string
line int
@@ -109,14 +110,14 @@
callerLineS := callerParts[1]
callerLine, _ := strconv.Atoi(callerLineS)
- var severity Severity
+ var severity logging.Severity
switch level {
case "warn":
- severity = WARNING
+ severity = logging.WARNING
case "error", "dpanic", "panic", "fatal":
- severity = ERROR
+ severity = logging.ERROR
default:
- severity = INFO
+ severity = logging.INFO
}
secs := int64(t)