diff --git a/loggers/logrus/logger.go b/loggers/logrus/logger.go index c301d43..2e08da8 100644 --- a/loggers/logrus/logger.go +++ b/loggers/logrus/logger.go @@ -39,9 +39,7 @@ func (l Logger) Trace(msg string) { } func (l *Logger) WithFields(fields map[string]any) core.Logger[*logrus.Entry] { - entry := l.logger.WithFields(logrus.Fields(fields)) - l.logger = entry - return l + return &Logger{logger: l.logger.WithFields(logrus.Fields(fields))} } func (l Logger) OriginalLogger() *logrus.Entry { diff --git a/loggers/logrus/logger_test.go b/loggers/logrus/logger_test.go index 490f330..a72f887 100644 --- a/loggers/logrus/logger_test.go +++ b/loggers/logrus/logger_test.go @@ -118,8 +118,9 @@ func TestLogger(t *testing.T) { logger.WithFields(expectedFields).Info("my msg") logger.WithFields(expectedFields).Trace("some other") logger.WithFields(expectedFields).Info("yeah") + logger.Info("ok") - require.Len(t, hook.AllEntries(), 3) + require.Len(t, hook.AllEntries(), 4) assertLog(t, hook.AllEntries()[0], expectedLog{ Level: "info", Message: "my msg", @@ -130,11 +131,16 @@ func TestLogger(t *testing.T) { Message: "some other", Fields: expectedFields, }) - assertLog(t, hook.LastEntry(), expectedLog{ + assertLog(t, hook.AllEntries()[2], expectedLog{ Level: "info", Message: "yeah", Fields: expectedFields, }) + assertLog(t, hook.LastEntry(), expectedLog{ + Level: "info", + Message: "ok", + Fields: map[string]any{}, + }) }) })