wrap logrus entry instead of logger

pull/1/head
Brad Rydzewski 5 years ago
parent 8a20c38b69
commit 48f68a1e1b

@ -6,19 +6,20 @@ package logger
import "github.com/sirupsen/logrus"
// Logrus returns a Logger that wraps a logrus.Logger.
func Logrus(logrus *logrus.Logger) Logger {
return &wrapLogrus{logrus}
// Logrus returns a Logger that wraps a logrus.Entry.
func Logrus(entry *logrus.Entry) Logger {
return &wrapLogrus{entry}
}
type wrapLogrus struct {
*logrus.Logger
*logrus.Entry
}
func (w *wrapLogrus) WithError(err error) Logger {
return &wrapLogrus{w.Logger.WithError(err).Logger}
return &wrapLogrus{w.Entry.WithError(err)}
return nil
}
func (w *wrapLogrus) WithField(key string, value interface{}) Logger {
return &wrapLogrus{w.Logger.WithField(key, value).Logger}
return &wrapLogrus{w.Entry.WithField(key, value)}
}

@ -11,7 +11,11 @@ import (
)
func TestLogrus(t *testing.T) {
logger := Logrus(logrus.StandardLogger())
logger := Logrus(
logrus.NewEntry(
logrus.StandardLogger(),
),
)
if _, ok := logger.(*wrapLogrus); !ok {
t.Errorf("Expect wrapped logrus")
}

Loading…
Cancel
Save