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 0000000000000000000000000000000000000000..9b8197de1acdc1ca492760b931180e09176068bb --- /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 067194d3175c91563c041fd3cec06e2fa2bd7678..0a5dc8428cec541fd6cf1b967893e7266bcb1575 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