code.pfad.fr/gohmekit@v0.2.1/hapip/logger_test.go (about)

     1  package hapip_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/go-kit/log"
     7  	"github.com/go-logfmt/logfmt"
     8  )
     9  
    10  type testingLogger struct {
    11  	tb testing.TB
    12  }
    13  
    14  // NewTestingLogger returns a logger that encodes keyvals to tb.Log in
    15  // logfmt format. It is meant to be used in tests.
    16  func NewTestingLogger(tb testing.TB) log.Logger {
    17  	return testingLogger{tb}
    18  }
    19  
    20  func (t testingLogger) Log(keyvals ...interface{}) error {
    21  	t.tb.Helper()
    22  	buf, err := logfmt.MarshalKeyvals(keyvals...)
    23  	if err != nil {
    24  		return err
    25  	}
    26  	t.tb.Log(string(buf))
    27  	return nil
    28  }