aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/logging.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/core/logging.scala')
-rw-r--r--src/main/scala/xyz/driver/core/logging.scala63
1 files changed, 0 insertions, 63 deletions
diff --git a/src/main/scala/xyz/driver/core/logging.scala b/src/main/scala/xyz/driver/core/logging.scala
deleted file mode 100644
index 9a5805d..0000000
--- a/src/main/scala/xyz/driver/core/logging.scala
+++ /dev/null
@@ -1,63 +0,0 @@
-package xyz.driver.core
-
-import java.text.SimpleDateFormat
-import java.util.Date
-
-import ch.qos.logback.classic.spi.ILoggingEvent
-import ch.qos.logback.core.LayoutBase
-import org.apache.commons.lang3.StringUtils
-import org.slf4j.helpers.NOPLogger
-
-object logging {
-
- val NoLogger = com.typesafe.scalalogging.Logger(NOPLogger.NOP_LOGGER)
-
- class DriverLayout extends LayoutBase[ILoggingEvent] {
- import scala.collection.JavaConverters._
-
- private val FieldSeparator = "="
- private val DateFormatString = "MM/dd/yyyy HH:mm:ss"
- private val newline = System.getProperty("line.separator")
- private val IgnoredClassesInStack = Set("org.apache.catalina", "org.apache.coyote", "sun.reflect", "javax.servlet")
-
- override def doLayout(loggingEvent: ILoggingEvent): String = {
-
- val date = new SimpleDateFormat(DateFormatString).format(new Date(loggingEvent.getTimeStamp))
- val level = StringUtils.rightPad(loggingEvent.getLevel.toString, 5)
-
- val message = new StringBuilder(s"$date [$level] - ${loggingEvent.getMessage}$newline")
-
- logContext(message, loggingEvent)
-
- Option(loggingEvent.getCallerData) foreach { stacktrace =>
- val stacktraceLength = stacktrace.length
-
- if (stacktraceLength > 0) {
- val location = stacktrace.head
-
- val _ = message
- .append(s"Location: ${location.getClassName}.${location.getMethodName}:${location.getLineNumber}$newline")
- .append(s"Exception: ${location.toString}$newline")
-
- if (stacktraceLength > 1) {
- message.append(stacktrace.tail.filterNot { e =>
- IgnoredClassesInStack.forall(ignored => !e.getClassName.startsWith(ignored))
- } map {
- _.toString
- } mkString newline)
- }
- }
- }
-
- message.toString
- }
-
- private def logContext(message: StringBuilder, loggingEvent: ILoggingEvent) = {
- Option(loggingEvent.getMDCPropertyMap).map(_.asScala).filter(_.nonEmpty).foreach { context =>
- message.append(
- context map { case (key, value) => s"$key$FieldSeparator$value" } mkString ("Context: ", " ", newline)
- )
- }
- }
- }
-}