From 45b639a226fbcd6fd7c3b5a39e3498f716e0d35f Mon Sep 17 00:00:00 2001 From: Peter van 't Hof <p.j.van_t_hof@lumc.nl> Date: Tue, 4 Nov 2014 09:28:26 +0100 Subject: [PATCH] Extract logging in a trait --- .../nl/lumc/sasc/biopet/core/Logging.scala | 27 +++++++++++++++++++ .../lumc/sasc/biopet/core/ToolCommand.scala | 25 +---------------- 2 files changed, 28 insertions(+), 24 deletions(-) create mode 100644 biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/Logging.scala diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/Logging.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/Logging.scala new file mode 100644 index 000000000..9b8197de1 --- /dev/null +++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/Logging.scala @@ -0,0 +1,27 @@ +package nl.lumc.sasc.biopet.core + +import java.text.SimpleDateFormat +import java.util.Calendar +import org.apache.log4j.Logger +import org.apache.log4j.WriterAppender +import org.apache.log4j.helpers.DateLayout + +trait Logging { + protected val logger = Logger.getLogger(getClass.getSimpleName.split("\\$").last) + + private[core] val logLayout = new DateLayout() { + val ignoresThrowable = false + def format(event: org.apache.log4j.spi.LoggingEvent): String = { + val calendar: Calendar = Calendar.getInstance + calendar.setTimeInMillis(event.getTimeStamp) + val formatter: SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + val formattedDate: String = formatter.format(calendar.getTime) + var logLevel = event.getLevel.toString + while (logLevel.size < 6) logLevel += " " + logLevel + " [" + formattedDate + "] [" + event.getLoggerName + "] " + event.getMessage + "\n" + } + } + private[core] val stderrAppender = new WriterAppender(logLayout, sys.process.stderr) + logger.setLevel(org.apache.log4j.Level.INFO) + logger.addAppender(stderrAppender) +} diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/ToolCommand.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/ToolCommand.scala index 067194d31..0a5dc8428 100644 --- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/ToolCommand.scala +++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/ToolCommand.scala @@ -1,14 +1,9 @@ package nl.lumc.sasc.biopet.core -import java.text.SimpleDateFormat -import java.util.Calendar -import org.apache.log4j.Logger import org.apache.log4j.WriterAppender -import org.apache.log4j.helpers.DateLayout -import org.apache.log4j.spi.LoggingEvent import java.io.File -trait ToolCommand extends MainCommand { +trait ToolCommand extends MainCommand with Logging { abstract class AbstractArgs { } @@ -45,22 +40,4 @@ trait ToolCommand extends MainCommand { type Args <: AbstractArgs type OptParser <: AbstractOptParser - - protected val logger = Logger.getLogger(commandName) - - private val logLayout = new DateLayout() { - val ignoresThrowable = false - def format(event: org.apache.log4j.spi.LoggingEvent): String = { - val calendar: Calendar = Calendar.getInstance - calendar.setTimeInMillis(event.getTimeStamp) - val formatter: SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - val formattedDate: String = formatter.format(calendar.getTime) - var logLevel = event.getLevel.toString - while (logLevel.size < 6) logLevel += " " - logLevel + " [" + formattedDate + "] [" + event.getLoggerName + "] " + event.getMessage + "\n" - } - } - private val stderrAppender = new WriterAppender(logLayout, sys.process.stderr) - logger.setLevel(org.apache.log4j.Level.INFO) - logger.addAppender(stderrAppender) } \ No newline at end of file -- GitLab