add MDC logging to StdOutLogger, making withMdc in Akka typed usable

This commit is contained in:
Konrad Malawski 2018-03-08 12:31:47 +09:00 committed by Konrad `ktoso` Malawski
parent e61f833dc3
commit a537abc77d

View file

@ -444,7 +444,7 @@ object Logging {
final val DebugLevel = LogLevel(4) final val DebugLevel = LogLevel(4)
/** /**
* INTERNAL API * INTERNAL API: Internal Akka use only
* *
* Don't include the OffLevel in the AllLogLevels since we should never subscribe * Don't include the OffLevel in the AllLogLevels since we should never subscribe
* to some kind of OffEvent. * to some kind of OffEvent.
@ -903,6 +903,7 @@ object Logging {
timestamp(event), timestamp(event),
event.thread.getName, event.thread.getName,
event.logSource, event.logSource,
formatMDC(event.mdc),
event.message, event.message,
stackTraceFor(event.cause))) stackTraceFor(event.cause)))
case _ case _
@ -911,6 +912,7 @@ object Logging {
timestamp(event), timestamp(event),
event.thread.getName, event.thread.getName,
event.logSource, event.logSource,
formatMDC(event.mdc),
event.message, event.message,
stackTraceFor(event.cause))) stackTraceFor(event.cause)))
} }
@ -922,12 +924,14 @@ object Logging {
timestamp(event), timestamp(event),
event.thread.getName, event.thread.getName,
event.logSource, event.logSource,
formatMDC(event.mdc),
event.message)) event.message))
case _ case _
println(WarningFormat.format( println(WarningFormat.format(
timestamp(event), timestamp(event),
event.thread.getName, event.thread.getName,
event.logSource, event.logSource,
formatMDC(event.mdc),
event.message)) event.message))
} }
@ -938,12 +942,14 @@ object Logging {
timestamp(event), timestamp(event),
event.thread.getName, event.thread.getName,
event.logSource, event.logSource,
formatMDC(event.mdc),
event.message)) event.message))
case _ case _
println(InfoFormat.format( println(InfoFormat.format(
timestamp(event), timestamp(event),
event.thread.getName, event.thread.getName,
event.logSource, event.logSource,
formatMDC(event.mdc),
event.message)) event.message))
} }
@ -954,31 +960,40 @@ object Logging {
timestamp(event), timestamp(event),
event.thread.getName, event.thread.getName,
event.logSource, event.logSource,
formatMDC(event.mdc),
event.message)) event.message))
case _ case _
println(DebugFormat.format( println(DebugFormat.format(
timestamp(event), timestamp(event),
event.thread.getName, event.thread.getName,
event.logSource, event.logSource,
formatMDC(event.mdc),
event.message)) event.message))
} }
private def formatMDC(mdc: Map[String, Any]): String = {
val size = mdc.size
if (size == 0) ""
else if (size == 1) s"[${mdc.head._1}:${mdc.head._2}]"
else mdc.map({ case (k, v) s"$k:$v" }).mkString("[", "][", "]")
}
} }
object StdOutLogger { object StdOutLogger {
// format: OFF // format: OFF
private final val ErrorFormat = "[ERROR] [%s] [%s] [%s] %s%s" private final val ErrorFormat = "[ERROR] [%s] [%s] [%s]%s %s%s"
private final val ErrorFormatWithMarker = "[ERROR] [%s][%s] [%s] [%s] %s%s" private final val ErrorFormatWithMarker = "[ERROR] [%s][%s] [%s] [%s]%s %s%s"
private final val ErrorFormatWithoutCause = "[ERROR] [%s] [%s] [%s] %s" private final val ErrorFormatWithoutCause = "[ERROR] [%s] [%s] [%s]%s %s"
private final val ErrorWithoutCauseWithMarkerFormat = "[ERROR] [%s][%s] [%s] [%s] %s" private final val ErrorWithoutCauseWithMarkerFormat = "[ERROR] [%s][%s] [%s] [%s]%s %s"
private final val WarningFormat = "[WARN] [%s] [%s] [%s] %s" private final val WarningFormat = "[WARN] [%s] [%s] [%s]%s %s"
private final val WarningWithMarkerFormat = "[WARN] [%s][%s] [%s] [%s] %s" private final val WarningWithMarkerFormat = "[WARN] [%s][%s] [%s] [%s]%s %s"
private final val InfoFormat = "[INFO] [%s] [%s] [%s] %s" private final val InfoFormat = "[INFO] [%s] [%s] [%s]%s %s"
private final val InfoWithMarkerFormat = "[INFO] [%s][%s] [%s] [%s] %s" private final val InfoWithMarkerFormat = "[INFO] [%s][%s] [%s] [%s]%s %s"
private final val DebugFormat = "[DEBUG] [%s] [%s] [%s] %s" private final val DebugFormat = "[DEBUG] [%s] [%s] [%s]%s %s"
private final val DebugWithMarkerFormat = "[DEBUG] [%s][%s] [%s] [%s] %s" private final val DebugWithMarkerFormat = "[DEBUG] [%s][%s] [%s] [%s]%s %s"
// format: ON // format: ON
} }