2010-05-24 04:21:09 +08:00
|
|
|
package org.broadinstitute.sting.queue.util
|
|
|
|
|
|
|
|
|
|
import org.apache.log4j._
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A mixin to add logging to a class
|
|
|
|
|
*/
|
|
|
|
|
trait Logging {
|
2010-05-26 06:52:29 +08:00
|
|
|
private val className = this.getClass.getName
|
2010-06-23 02:39:20 +08:00
|
|
|
protected lazy val logger = {
|
2010-05-24 04:21:09 +08:00
|
|
|
Logging.configureLogging
|
|
|
|
|
Logger.getLogger(className)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
object Logging {
|
|
|
|
|
private var configured = false
|
2010-06-23 02:39:20 +08:00
|
|
|
private var level = Level.INFO
|
2010-05-30 16:28:16 +08:00
|
|
|
def configureLogging = {
|
2010-05-24 04:21:09 +08:00
|
|
|
if (!configured) {
|
|
|
|
|
var root = Logger.getRootLogger
|
2010-05-30 16:28:16 +08:00
|
|
|
root.addAppender(new ConsoleAppender(new PatternLayout("%-5p %d{HH:mm:ss,SSS} - %m %n")))
|
2010-06-23 02:39:20 +08:00
|
|
|
root.setLevel(level)
|
2010-05-24 04:21:09 +08:00
|
|
|
configured = true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2010-06-23 02:39:20 +08:00
|
|
|
def setDebug = setLevel(Level.DEBUG)
|
|
|
|
|
def setTrace = setLevel(Level.TRACE)
|
|
|
|
|
private def setLevel(level: Level) = {this.level = level; Logger.getRootLogger.setLevel(level)}
|
2010-05-24 04:21:09 +08:00
|
|
|
}
|