Improve dns log

This commit is contained in:
世界
2022-08-03 18:55:39 +08:00
parent f6f3390490
commit 8e4de29409
12 changed files with 154 additions and 66 deletions

View File

@@ -54,6 +54,7 @@ type simpleLogger struct {
}
func (l *simpleLogger) Log(ctx context.Context, level Level, args []any) {
level = OverrideLevelFromContext(level, ctx)
if level > l.level {
return
}

View File

@@ -71,6 +71,7 @@ type observableLogger struct {
}
func (l *observableLogger) Log(ctx context.Context, level Level, args []any) {
level = OverrideLevelFromContext(level, ctx)
if level > l.level {
return
}

19
log/override.go Normal file
View File

@@ -0,0 +1,19 @@
package log
import (
"context"
)
type overrideLevelKey struct{}
func ContextWithOverrideLevel(ctx context.Context, level Level) context.Context {
return context.WithValue(ctx, (*overrideLevelKey)(nil), level)
}
func OverrideLevelFromContext(origin Level, ctx context.Context) Level {
level, loaded := ctx.Value((*overrideLevelKey)(nil)).(Level)
if !loaded || origin < level {
return origin
}
return level
}