log logger's errors (Refs #29)
This commit is contained in:
parent
ac0cf0b2e2
commit
4b989151ed
|
@ -52,19 +52,28 @@ func NewTMLoggerWithColorFn(w io.Writer, colorFn func(keyvals ...interface{}) te
|
||||||
// Info logs a message at level Info.
|
// Info logs a message at level Info.
|
||||||
func (l *tmLogger) Info(msg string, keyvals ...interface{}) {
|
func (l *tmLogger) Info(msg string, keyvals ...interface{}) {
|
||||||
lWithLevel := kitlevel.Info(l.srcLogger)
|
lWithLevel := kitlevel.Info(l.srcLogger)
|
||||||
kitlog.With(lWithLevel, msgKey, msg).Log(keyvals...)
|
if err := kitlog.With(lWithLevel, msgKey, msg).Log(keyvals...); err != nil {
|
||||||
|
errLogger := kitlevel.Error(l.srcLogger)
|
||||||
|
kitlog.With(errLogger, msgKey, msg).Log("err", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Debug logs a message at level Debug.
|
// Debug logs a message at level Debug.
|
||||||
func (l *tmLogger) Debug(msg string, keyvals ...interface{}) {
|
func (l *tmLogger) Debug(msg string, keyvals ...interface{}) {
|
||||||
lWithLevel := kitlevel.Debug(l.srcLogger)
|
lWithLevel := kitlevel.Debug(l.srcLogger)
|
||||||
kitlog.With(lWithLevel, msgKey, msg).Log(keyvals...)
|
if err := kitlog.With(lWithLevel, msgKey, msg).Log(keyvals...); err != nil {
|
||||||
|
errLogger := kitlevel.Error(l.srcLogger)
|
||||||
|
kitlog.With(errLogger, msgKey, msg).Log("err", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Error logs a message at level Error.
|
// Error logs a message at level Error.
|
||||||
func (l *tmLogger) Error(msg string, keyvals ...interface{}) {
|
func (l *tmLogger) Error(msg string, keyvals ...interface{}) {
|
||||||
lWithLevel := kitlevel.Error(l.srcLogger)
|
lWithLevel := kitlevel.Error(l.srcLogger)
|
||||||
kitlog.With(lWithLevel, msgKey, msg).Log(keyvals...)
|
lWithMsg := kitlog.With(lWithLevel, msgKey, msg)
|
||||||
|
if err := lWithMsg.Log(keyvals...); err != nil {
|
||||||
|
lWithMsg.Log("err", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// With returns a new contextual logger with keyvals prepended to those passed
|
// With returns a new contextual logger with keyvals prepended to those passed
|
||||||
|
|
|
@ -1,12 +1,26 @@
|
||||||
package log_test
|
package log_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/go-logfmt/logfmt"
|
||||||
"github.com/tendermint/tmlibs/log"
|
"github.com/tendermint/tmlibs/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func TestLoggerLogsItsErrors(t *testing.T) {
|
||||||
|
var buf bytes.Buffer
|
||||||
|
|
||||||
|
logger := log.NewTMLogger(&buf)
|
||||||
|
logger.Info("foo", "baz baz", "bar")
|
||||||
|
msg := strings.TrimSpace(buf.String())
|
||||||
|
if !strings.Contains(msg, logfmt.ErrInvalidKey.Error()) {
|
||||||
|
t.Errorf("Expected logger msg to contain ErrInvalidKey, got %s", msg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func BenchmarkTMLoggerSimple(b *testing.B) {
|
func BenchmarkTMLoggerSimple(b *testing.B) {
|
||||||
benchmarkRunner(b, log.NewTMLogger(ioutil.Discard), baseInfoMessage)
|
benchmarkRunner(b, log.NewTMLogger(ioutil.Discard), baseInfoMessage)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue