Improve dns log
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
19
log/override.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user