aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/reporting/ScalaLoggerLike.scala
blob: c1131fbe0baa88bdda005177143bd22a3db82168 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package xyz.driver.core.reporting
import com.typesafe.scalalogging.Logger

trait ScalaLoggerLike extends Reporter {

  def logger: Logger

  override def debug(message: String)(implicit ctx: SpanContext): Unit = logger.debug(message)
  override def info(message: String)(implicit ctx: SpanContext): Unit  = logger.info(message)
  override def warn(message: String)(implicit ctx: SpanContext): Unit  = logger.warn(message)
  override def error(message: String)(implicit ctx: SpanContext): Unit = logger.error(message)
  override def error(message: String, reason: Throwable)(implicit ctx: SpanContext): Unit =
    logger.error(message, reason)

}

object ScalaLoggerLike {
  import scala.language.implicitConversions

  def defaultScalaLogger(json: Boolean = false): Logger = {
    if (json) {
      System.setProperty("logback.configurationFile", "deployed-logback.xml")
    } else {
      System.setProperty("logback.configurationFile", "logback.xml")
    }
    Logger.apply("application")
  }

  implicit def toScalaLogger(reporter: ScalaLoggerLike): Logger = reporter.logger

}