9 "github.com/go-logfmt/logfmt"
10 "github.com/tendermint/tmlibs/log"
13 func TestLoggerLogsItsErrors(t *testing.T) {
16 logger := log.NewTMLogger(&buf)
17 logger.Info("foo", "baz baz", "bar")
18 msg := strings.TrimSpace(buf.String())
19 if !strings.Contains(msg, logfmt.ErrInvalidKey.Error()) {
20 t.Errorf("Expected logger msg to contain ErrInvalidKey, got %s", msg)
24 func BenchmarkTMLoggerSimple(b *testing.B) {
25 benchmarkRunner(b, log.NewTMLogger(ioutil.Discard), baseInfoMessage)
28 func BenchmarkTMLoggerContextual(b *testing.B) {
29 benchmarkRunner(b, log.NewTMLogger(ioutil.Discard), withInfoMessage)
32 func benchmarkRunner(b *testing.B, logger log.Logger, f func(log.Logger)) {
33 lc := logger.With("common_key", "common_value")
36 for i := 0; i < b.N; i++ {
42 baseInfoMessage = func(logger log.Logger) { logger.Info("foo_message", "foo_key", "foo_value") }
43 withInfoMessage = func(logger log.Logger) { logger.With("a", "b").Info("c", "d", "f") }