-
Notifications
You must be signed in to change notification settings - Fork 82
Closed
Description
While adding tests to Slf4jLogger
in #850 I noticed that, every now and again, the tests would fail because extra values would be captured as context.
Looking at the failure, it's the value set in the "Slf4jLoggerInternal resets after logging" test. I didn't see in the docs if this was intended behavior or not, and I could see arguments for either behavior, so I figured it's worth asking about and documenting.
munit.ComparisonFailException: /Users/morgen/learning/log4cats/slf4j/src/test/scala/org/typelevel/log4cats/slf4j/internal/Slf4jLoggerInternalSuite.scala:256
255: slf4jLogger.error("error(msg)").assert >>
256: IO(testLogger.logs().asScala.toList).assertEquals(
257: List(
values are not the same
=> Obtained
List(
DeferredStructuredLogMessage(LogLevel.Trace,Map(foo -> yellow),None,trace(msg)),
DeferredStructuredLogMessage(LogLevel.Debug,Map(foo -> yellow),None,debug(msg)),
DeferredStructuredLogMessage(LogLevel.Info,Map(foo -> yellow),None,info(msg)),
DeferredStructuredLogMessage(LogLevel.Warn,Map(foo -> yellow),None,warn(msg)),
DeferredStructuredLogMessage(LogLevel.Error,Map(foo -> yellow),None,error(msg))
)
=> Diff (- obtained, + expected)
List(
- DeferredStructuredLogMessage(LogLevel.Trace,Map(foo -> yellow),None,trace(msg)),
- DeferredStructuredLogMessage(LogLevel.Debug,Map(foo -> yellow),None,debug(msg)),
- DeferredStructuredLogMessage(LogLevel.Info,Map(foo -> yellow),None,info(msg)),
- DeferredStructuredLogMessage(LogLevel.Warn,Map(foo -> yellow),None,warn(msg)),
- DeferredStructuredLogMessage(LogLevel.Error,Map(foo -> yellow),None,error(msg))
+ DeferredStructuredLogMessage(LogLevel.Trace,Map(),None,trace(msg)),
+ DeferredStructuredLogMessage(LogLevel.Debug,Map(),None,debug(msg)),
+ DeferredStructuredLogMessage(LogLevel.Info,Map(),None,info(msg)),
+ DeferredStructuredLogMessage(LogLevel.Warn,Map(),None,warn(msg)),
+ DeferredStructuredLogMessage(LogLevel.Error,Map(),None,error(msg))
)
Metadata
Metadata
Assignees
Labels
No labels