mirror of
https://github.com/fluencelabs/tendermint
synced 2025-06-12 12:51:22 +00:00
Logger interface and tmLogger impl based on go-kit
This commit is contained in:
41
log/tm_logger_test.go
Normal file
41
log/tm_logger_test.go
Normal file
@ -0,0 +1,41 @@
|
||||
package log_test
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"testing"
|
||||
|
||||
"github.com/tendermint/tmlibs/log"
|
||||
)
|
||||
|
||||
func TestTmLogger(t *testing.T) {
|
||||
t.Parallel()
|
||||
logger := log.NewTmLogger(ioutil.Discard)
|
||||
if err := logger.Info("Hello", "abc", 123); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := log.With(logger, "def", "ghi").Debug(""); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkTmLoggerSimple(b *testing.B) {
|
||||
benchmarkRunner(b, log.NewTmLogger(ioutil.Discard), baseInfoMessage)
|
||||
}
|
||||
|
||||
func BenchmarkTmLoggerContextual(b *testing.B) {
|
||||
benchmarkRunner(b, log.NewTmLogger(ioutil.Discard), withInfoMessage)
|
||||
}
|
||||
|
||||
func benchmarkRunner(b *testing.B, logger log.Logger, f func(log.Logger)) {
|
||||
lc := log.With(logger, "common_key", "common_value")
|
||||
b.ReportAllocs()
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
f(lc)
|
||||
}
|
||||
}
|
||||
|
||||
var (
|
||||
baseInfoMessage = func(logger log.Logger) { logger.Info("foo_message", "foo_key", "foo_value") }
|
||||
withInfoMessage = func(logger log.Logger) { log.With(logger, "a", "b").Info("c", "d", "f") }
|
||||
)
|
Reference in New Issue
Block a user