=slf show how one would use mdc and a marker in slf4j
This commit is contained in:
parent
2b1d964f14
commit
e516436be1
1 changed files with 19 additions and 3 deletions
|
|
@ -28,8 +28,9 @@ object Slf4jLoggerSpec {
|
||||||
"""
|
"""
|
||||||
|
|
||||||
final case class StringWithMDC(s: String, mdc: Map[String, Any])
|
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 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 {
|
final class LogProducer extends Actor with DiagnosticActorLogging {
|
||||||
|
|
||||||
|
|
@ -40,8 +41,12 @@ object Slf4jLoggerSpec {
|
||||||
log.error(e, e.getMessage)
|
log.error(e, e.getMessage)
|
||||||
case (s: String, x: Int, y: Int) ⇒
|
case (s: String, x: Int, y: Int) ⇒
|
||||||
log.info(s, x, y)
|
log.info(s, x, y)
|
||||||
case StringWithSlf4jMarkerMDC(s, m) ⇒
|
case StringWithSlf4jMarker(s, m) ⇒
|
||||||
markLog.info(Slf4jLogMarker(m), s)
|
markLog.info(Slf4jLogMarker(m), s)
|
||||||
|
case StringWithSlf4jMarkerMDC(s, mark, mdc) ⇒
|
||||||
|
markLog.mdc(mdc)
|
||||||
|
markLog.info(Slf4jLogMarker(mark), s)
|
||||||
|
markLog.clearMDC()
|
||||||
case StringWithMDC(s, mdc) ⇒
|
case StringWithMDC(s, mdc) ⇒
|
||||||
log.mdc(mdc)
|
log.mdc(mdc)
|
||||||
log.info(s)
|
log.info(s)
|
||||||
|
|
@ -117,13 +122,24 @@ class Slf4jLoggerSpec extends AkkaSpec(Slf4jLoggerSpec.config) with BeforeAndAft
|
||||||
"log info with slf4j marker" in {
|
"log info with slf4j marker" in {
|
||||||
val slf4jMarker = MarkerFactory.getMarker("SLF")
|
val slf4jMarker = MarkerFactory.getMarker("SLF")
|
||||||
slf4jMarker.add(MarkerFactory.getMarker("ADDED")) // slf4j markers can have children
|
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)
|
awaitCond(outputString.contains("----"), 5 seconds)
|
||||||
val s = outputString
|
val s = outputString
|
||||||
s should include("marker=[SLF [ ADDED ]]")
|
s should include("marker=[SLF [ ADDED ]]")
|
||||||
s should include("msg=[security-wise interesting message]")
|
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 {
|
"put custom MDC values when specified" in {
|
||||||
producer ! StringWithMDC("Message with custom MDC values", Map("ticketNumber" → 3671, "ticketDesc" → "Custom MDC Values"))
|
producer ! StringWithMDC("Message with custom MDC values", Map("ticketNumber" → 3671, "ticketDesc" → "Custom MDC Values"))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue