diff options
author | Jakob Odersky <jakob@driver.xyz> | 2018-09-12 16:03:17 -0700 |
---|---|---|
committer | Jakob Odersky <jakob@odersky.com> | 2018-10-09 16:19:39 -0700 |
commit | 616e62e733dbbd4e6bacc5f563deef534794dc9e (patch) | |
tree | 069d5cbb261793540700a1a7d04e4474806eb294 /core-reporting/src/main/scala/xyz/driver/core/reporting/ScalaLoggingCompat.scala | |
parent | 7a793ffa068fda8f2146f84fa785328d928dba03 (diff) | |
download | driver-core-616e62e733dbbd4e6bacc5f563deef534794dc9e.tar.gz driver-core-616e62e733dbbd4e6bacc5f563deef534794dc9e.tar.bz2 driver-core-616e62e733dbbd4e6bacc5f563deef534794dc9e.zip |
Move reporting into separate project
Diffstat (limited to 'core-reporting/src/main/scala/xyz/driver/core/reporting/ScalaLoggingCompat.scala')
-rw-r--r-- | core-reporting/src/main/scala/xyz/driver/core/reporting/ScalaLoggingCompat.scala | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/core-reporting/src/main/scala/xyz/driver/core/reporting/ScalaLoggingCompat.scala b/core-reporting/src/main/scala/xyz/driver/core/reporting/ScalaLoggingCompat.scala new file mode 100644 index 0000000..0ff5574 --- /dev/null +++ b/core-reporting/src/main/scala/xyz/driver/core/reporting/ScalaLoggingCompat.scala @@ -0,0 +1,36 @@ +package xyz.driver.core +package reporting + +import com.typesafe.scalalogging.{Logger => ScalaLogger} + +/** Compatibility mixin for reporters, that enables implicit conversions to scala-logging loggers. */ +trait ScalaLoggingCompat extends Reporter { + import Reporter.Severity + + def logger: ScalaLogger + + override def log(severity: Severity, message: String, reason: Option[Throwable])(implicit ctx: SpanContext): Unit = + severity match { + case Severity.Debug => logger.debug(message, reason.orNull) + case Severity.Informational => logger.info(message, reason.orNull) + case Severity.Warning => logger.warn(message, reason.orNull) + case Severity.Error => logger.error(message, reason.orNull) + } + +} + +object ScalaLoggingCompat { + import scala.language.implicitConversions + + def defaultScalaLogger(json: Boolean = false): ScalaLogger = { + if (json) { + System.setProperty("logback.configurationFile", "deployed-logback.xml") + } else { + System.setProperty("logback.configurationFile", "logback.xml") + } + ScalaLogger.apply("application") + } + + implicit def toScalaLogger(logger: ScalaLoggingCompat): ScalaLogger = logger.logger + +} |