Guest User

Untitled

a guest
Jan 11th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.63 KB | None | 0 0
  1. trait Logging {
  2.   lazy val logger = Logging(this)
  3.  
  4.   def trace(message: => String) = if (logger.isTraceEnabled) logger.trace(message)
  5.   def debug(message: => String) = if (logger.isDebugEnabled) logger.debug(message)
  6.   def info(message: => String) = if (logger.isInfoEnabled) logger.info(message)
  7.   def warn(message: => String) = if (logger.isWarnEnabled) logger.warn(message)
  8.   def warn(message: => String, throwable: Throwable) = if (logger.isWarnEnabled) logger.warn(message, throwable)
  9.   def error(message: => String) = if (logger.isErrorEnabled) logger.error(message)
  10.   def error(message: => String, throwable: Throwable) = if (logger.isErrorEnabled) logger.error(message, throwable)
  11. }
  12.  
  13. object Logging {
  14.   val Standard = "%d{yyyy.MM.dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"
  15.   val Detailed = "%d{yyyy.MM.dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%method.%line%n\t%msg%n"
  16.  
  17.   reconfigure()
  18.  
  19.   def apply(instance: Logging) = LoggerFactory.getLogger(instance.getClass)
  20.  
  21.   def reconfigure(pattern: String = Standard) = {
  22.     val context = LoggerFactory.getILoggerFactory.asInstanceOf[LoggerContext]
  23.     val configurator = new JoranConfigurator
  24.     configurator.setContext(context)
  25.     context.reset()
  26.     val appender = new ConsoleAppender[ILoggingEvent]
  27.     appender.setContext(context)
  28.     appender.setName("console")
  29.     val encoder = new PatternLayoutEncoder
  30.     encoder.setContext(context)
  31.     encoder.setPattern(pattern)
  32.     encoder.start()
  33.     appender.setEncoder(encoder)
  34.     appender.start()
  35.     val rootLogger = context.getLogger(Logger.ROOT_LOGGER_NAME)
  36.     rootLogger.addAppender(appender)
  37.   }
  38. }
Add Comment
Please, Sign In to add comment