src/main/scala/s3/website/Logger.scala in s3_website-2.7.3 vs src/main/scala/s3/website/Logger.scala in s3_website-2.7.4

- old
+ new

@@ -1,21 +1,21 @@ package s3.website -import scala.util.Try - -class Logger(val verboseOutput: Boolean) { +class Logger(val verboseOutput: Boolean, onLog: Option[(String) => _] = None) { def debug(msg: String) = if (verboseOutput) log(Debug, msg) def info(msg: String) = log(Info, msg) def fail(msg: String) = log(Failure, msg) def info(report: SuccessReport) = log(Success, report.reportMessage) def info(report: ErrorReport) = fail(report.reportMessage) def pending(msg: String) = log(Wait, msg) - private def log(logType: LogType, msgRaw: String): Try[Unit] = { + private def log(logType: LogType, msgRaw: String) = { val msg = msgRaw.replaceAll("\\n", "\n ") // Indent new lines, so that they arrange nicely with other log lines - Try(println(s"[$logType] $msg")) + val decoratedLogMessage = s"[$logType] $msg" + onLog.foreach(_(decoratedLogMessage)) + println(decoratedLogMessage) } sealed trait LogType { val prefix: String override def toString = prefix \ No newline at end of file