=slf show how one would use mdc and a marker in slf4j

This commit is contained in:
Konrad `ktoso` Malawski 2017-08-07 11:44:10 +09:00
parent 2b1d964f14
commit e516436be1
No known key found for this signature in database
GPG key ID: 31C4D344FCFF9318

View file

@ -28,8 +28,9 @@ object Slf4jLoggerSpec {
"""
final case class StringWithMDC(s: String, mdc: Map[String, Any])
final case class StringWithSlf4jMarkerMDC(s: String, marker: Marker)
final case class StringWithMarker(s: String, marker: LogMarker)
final case class StringWithSlf4jMarker(s: String, marker: Marker)
final case class StringWithSlf4jMarkerMDC(s: String, marker: Marker, mdc: Map[String, Any])
final class LogProducer extends Actor with DiagnosticActorLogging {
@ -40,8 +41,12 @@ object Slf4jLoggerSpec {
log.error(e, e.getMessage)
case (s: String, x: Int, y: Int)
log.info(s, x, y)
case StringWithSlf4jMarkerMDC(s, m)
case StringWithSlf4jMarker(s, m)
markLog.info(Slf4jLogMarker(m), s)
case StringWithSlf4jMarkerMDC(s, mark, mdc)
markLog.mdc(mdc)
markLog.info(Slf4jLogMarker(mark), s)
markLog.clearMDC()
case StringWithMDC(s, mdc)
log.mdc(mdc)
log.info(s)
@ -117,13 +122,24 @@ class Slf4jLoggerSpec extends AkkaSpec(Slf4jLoggerSpec.config) with BeforeAndAft
"log info with slf4j marker" in {
val slf4jMarker = MarkerFactory.getMarker("SLF")
slf4jMarker.add(MarkerFactory.getMarker("ADDED")) // slf4j markers can have children
producer ! StringWithSlf4jMarkerMDC("security-wise interesting message", slf4jMarker)
producer ! StringWithSlf4jMarker("security-wise interesting message", slf4jMarker)
awaitCond(outputString.contains("----"), 5 seconds)
val s = outputString
s should include("marker=[SLF [ ADDED ]]")
s should include("msg=[security-wise interesting message]")
}
"log info with slf4j marker and MDC" in {
val slf4jMarker = MarkerFactory.getMarker("SLF")
slf4jMarker.add(MarkerFactory.getMarker("ADDED")) // slf4j markers can have children
producer ! StringWithSlf4jMarkerMDC("security-wise interesting message", slf4jMarker, Map("ticketNumber" 3671, "ticketDesc" "Custom MDC Values"))
awaitCond(outputString.contains("----"), 5 seconds)
val s = outputString
s should include("marker=[SLF [ ADDED ]]")
s should include("mdc=[ticket-#3671: Custom MDC Values]")
s should include("msg=[security-wise interesting message]")
}
"put custom MDC values when specified" in {
producer ! StringWithMDC("Message with custom MDC values", Map("ticketNumber" 3671, "ticketDesc" "Custom MDC Values"))