Skip to content
Snippets Groups Projects
Commit 24eff917 authored by Peter van 't Hof's avatar Peter van 't Hof
Browse files

Changed logging to more general

parent 92dc5c59
No related branches found
No related tags found
No related merge requests found
......@@ -7,9 +7,13 @@ import org.apache.log4j.WriterAppender
import org.apache.log4j.helpers.DateLayout
trait Logging {
protected val logger = Logger.getLogger(getClass.getSimpleName.split("\\$").last)
def logger = Logging.logger
}
object Logging {
val logger = Logger.getLogger("Logging")
private[core] val logLayout = new DateLayout() {
val logLayout = new DateLayout() {
val ignoresThrowable = false
def format(event: org.apache.log4j.spi.LoggingEvent): String = {
val calendar: Calendar = Calendar.getInstance
......@@ -18,10 +22,13 @@ trait Logging {
val formattedDate: String = formatter.format(calendar.getTime)
var logLevel = event.getLevel.toString
while (logLevel.size < 6) logLevel += " "
logLevel + " [" + formattedDate + "] [" + event.getLoggerName + "] " + event.getMessage + "\n"
val className = event.getLocationInformation.getClassName.split("\\.").last.split("\\$").head
logLevel + " [" + formattedDate + "] [" + className + "] " + event.getMessage + "\n"
}
}
private[core] val stderrAppender = new WriterAppender(logLayout, sys.process.stderr)
val stderrAppender = new WriterAppender(logLayout, sys.process.stderr)
logger.setLevel(org.apache.log4j.Level.INFO)
logger.addAppender(stderrAppender)
}
logger.addAppender(Logging.stderrAppender)
}
\ No newline at end of file
......@@ -9,10 +9,10 @@ trait ToolCommand extends MainCommand with Logging {
abstract class AbstractOptParser extends scopt.OptionParser[Args](commandName) {
opt[Unit]("log_nostderr") foreach { _ =>
logger.removeAppender(stderrAppender)
logger.removeAppender(Logging.stderrAppender)
} text ("No output to stderr")
opt[File]("log_file") foreach { x =>
logger.addAppender(new WriterAppender(logLayout, new java.io.PrintStream(x)))
logger.addAppender(new WriterAppender(Logging.logLayout, new java.io.PrintStream(x)))
} text ("Log file") valueName ("<file>")
opt[String]('l', "log_level") foreach { x =>
x.toLowerCase match {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment