Merge pull request #9 from tendermint/bugfix/filter-with-func

[log] proper impl of With for filter
This commit is contained in:
Anton Kaliaev 2017-05-08 14:42:21 +04:00 committed by GitHub
commit 25a5bc2697
2 changed files with 9 additions and 3 deletions

View File

@ -45,7 +45,7 @@ func (l *filter) Error(msg string, keyvals ...interface{}) error {
}
func (l *filter) With(keyvals ...interface{}) Logger {
return l.next.With(keyvals...)
return &filter{next: l.next.With(keyvals...), allowed: l.allowed, errNotAllowed: l.errNotAllowed}
}
// Option sets a parameter for the filter.

View File

@ -93,11 +93,17 @@ func TestLevelContext(t *testing.T) {
var logger log.Logger
logger = log.NewTMJSONLogger(&buf)
logger = log.NewFilter(logger, log.AllowAll())
logger = log.NewFilter(logger, log.AllowError())
logger = logger.With("context", "value")
logger.Error("foo", "bar", "baz")
if want, have := `{"_msg":"foo","bar":"baz","context":"value","level":"error"}`, strings.TrimSpace(buf.String()); want != have {
t.Errorf("\nwant '%s'\nhave '%s'", want, have)
}
buf.Reset()
logger.Info("foo", "bar", "baz")
if want, have := `{"_msg":"foo","bar":"baz","context":"value","level":"info"}`, strings.TrimSpace(buf.String()); want != have {
if want, have := ``, strings.TrimSpace(buf.String()); want != have {
t.Errorf("\nwant '%s'\nhave '%s'", want, have)
}
}