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