pull/1053/head
chenzhihui 4 years ago
parent ba2607530d
commit f92d4742bb
  1. 9
      log/filter.go
  2. 4
      log/value.go

@ -57,7 +57,7 @@ func NewFilter(logger Logger, opts ...FilterOption) *Filter {
return &options return &options
} }
// Log Print log by level and keyvals // Log Print log by level and keyvals.
func (f *Filter) Log(level Level, keyvals ...interface{}) error { func (f *Filter) Log(level Level, keyvals ...interface{}) error {
if f.level > level { if f.level > level {
return nil return nil
@ -65,13 +65,13 @@ func (f *Filter) Log(level Level, keyvals ...interface{}) error {
if f.filter != nil && f.filter(level, keyvals...) { if f.filter != nil && f.filter(level, keyvals...) {
return nil return nil
} }
if len(keyvals)%2 == 0 {
for i := 0; i < len(keyvals); i += 2 { for i := 0; i < len(keyvals); i += 2 {
if i > len(keyvals) { iv := i + 1
if iv >= len(keyvals) {
continue continue
} }
k := keyvals[i] k := keyvals[i]
v := keyvals[i+1] v := keyvals[iv]
if _, ok := f.key[k]; ok { if _, ok := f.key[k]; ok {
keyvals[i+1] = "***" keyvals[i+1] = "***"
} }
@ -79,6 +79,5 @@ func (f *Filter) Log(level Level, keyvals ...interface{}) error {
keyvals[i+1] = "***" keyvals[i+1] = "***"
} }
} }
}
return f.logger.Log(level, keyvals...) return f.logger.Log(level, keyvals...)
} }

@ -33,11 +33,11 @@ func Value(ctx context.Context, v interface{}) interface{} {
func Caller(depth int) Valuer { func Caller(depth int) Valuer {
return func(context.Context) interface{} { return func(context.Context) interface{} {
_, file, line, _ := runtime.Caller(depth) _, file, line, _ := runtime.Caller(depth)
if strings.LastIndex(file, "/log/helper.go") > 0 { if strings.LastIndex(file, "/log/filter.go") > 0 {
depth++ depth++
_, file, line, _ = runtime.Caller(depth) _, file, line, _ = runtime.Caller(depth)
} }
if strings.LastIndex(file, "/log/filter.go") > 0 { if strings.LastIndex(file, "/log/helper.go") > 0 {
depth++ depth++
_, file, line, _ = runtime.Caller(depth) _, file, line, _ = runtime.Caller(depth)
} }

Loading…
Cancel
Save