mirror of
https://github.com/go-kratos/kratos.git
synced 2025-03-17 21:07:54 +02:00
fix log filter (#1056)
* fix log filter Co-authored-by: Tony Chen <zhihui_chen@foxmail.com>
This commit is contained in:
parent
0ff1c6f89a
commit
258e911f4f
@ -59,22 +59,24 @@ func NewFilter(logger Logger, opts ...FilterOption) *Filter {
|
||||
|
||||
// Log Print log by level and keyvals.
|
||||
func (f *Filter) Log(level Level, keyvals ...interface{}) error {
|
||||
if f.level > level {
|
||||
if level < f.level {
|
||||
return nil
|
||||
}
|
||||
if f.filter != nil && f.filter(level, keyvals...) {
|
||||
return nil
|
||||
}
|
||||
for i := 0; i < len(keyvals); i += 2 {
|
||||
if _, ok := f.key[keyvals[i]]; ok {
|
||||
keyvals[i+1] = "***"
|
||||
}
|
||||
vi := i + 1
|
||||
if vi >= len(keyvals) {
|
||||
continue
|
||||
}
|
||||
if _, ok := f.value[keyvals[vi]]; ok {
|
||||
keyvals[i+1] = "***"
|
||||
if len(f.key) > 0 || len(f.value) > 0 {
|
||||
for i := 0; i < len(keyvals); i += 2 {
|
||||
v := i + 1
|
||||
if v >= len(keyvals) {
|
||||
continue
|
||||
}
|
||||
if _, ok := f.key[keyvals[i]]; ok {
|
||||
keyvals[v] = "***"
|
||||
}
|
||||
if _, ok := f.value[keyvals[v]]; ok {
|
||||
keyvals[v] = "***"
|
||||
}
|
||||
}
|
||||
}
|
||||
return f.logger.Log(level, keyvals...)
|
||||
|
@ -33,7 +33,7 @@ func (l *stdLogger) Log(level Level, keyvals ...interface{}) error {
|
||||
return nil
|
||||
}
|
||||
if len(keyvals)%2 != 0 {
|
||||
keyvals = append(keyvals, "")
|
||||
keyvals = append(keyvals, "KEYVALS UNPAIRED")
|
||||
}
|
||||
buf := l.pool.Get().(*bytes.Buffer)
|
||||
buf.WriteString(level.String())
|
||||
|
Loading…
x
Reference in New Issue
Block a user