2010-07-05 18:53:37 +02:00
|
|
|
/* sbt -- Simple Build Tool
|
|
|
|
|
* Copyright 2010 Mark Harrah
|
|
|
|
|
*/
|
|
|
|
|
package sbt
|
|
|
|
|
|
|
|
|
|
/** Promotes the simple Logger interface to the full AbstractLogger interface. */
|
2011-05-08 04:02:06 +02:00
|
|
|
class FullLogger(delegate: Logger) extends BasicLogger
|
2010-07-05 18:53:37 +02:00
|
|
|
{
|
2011-05-08 04:02:06 +02:00
|
|
|
override val ansiCodesSupported: Boolean = delegate.ansiCodesSupported
|
2010-07-05 18:53:37 +02:00
|
|
|
def trace(t: => Throwable)
|
|
|
|
|
{
|
|
|
|
|
if(traceEnabled)
|
|
|
|
|
delegate.trace(t)
|
|
|
|
|
}
|
|
|
|
|
def log(level: Level.Value, message: => String)
|
|
|
|
|
{
|
|
|
|
|
if(atLevel(level))
|
|
|
|
|
delegate.log(level, message)
|
|
|
|
|
}
|
|
|
|
|
def success(message: => String): Unit =
|
2011-03-07 03:57:31 +01:00
|
|
|
if(successEnabled)
|
|
|
|
|
delegate.success(message)
|
2010-07-05 18:53:37 +02:00
|
|
|
def control(event: ControlEvent.Value, message: => String): Unit =
|
|
|
|
|
info(message)
|
|
|
|
|
def logAll(events: Seq[LogEvent]): Unit = events.foreach(log)
|
|
|
|
|
}
|
2011-05-08 04:02:06 +02:00
|
|
|
object FullLogger
|
|
|
|
|
{
|
|
|
|
|
def apply(delegate: Logger): AbstractLogger =
|
|
|
|
|
delegate match
|
|
|
|
|
{
|
|
|
|
|
case d: AbstractLogger => d
|
|
|
|
|
case _ => new FullLogger(delegate)
|
|
|
|
|
}
|
|
|
|
|
}
|