org.apache.tools.ant.listener
Class CommonsLoggingListener

java.lang.Object
  extended by org.apache.tools.ant.listener.CommonsLoggingListener
All Implemented Interfaces:
java.util.EventListener, BuildListener, BuildLogger

public class CommonsLoggingListener
extends java.lang.Object
implements BuildListener, BuildLogger

Jakarta Commons Logging listener. Note: do not use the SimpleLog as your logger implementation as it causes an infinite loop since it writes to System.err, which Ant traps and reroutes to the logger/listener layer. The following names are used for the log: org.apache.tools.ant.Project.PROJECT_NAME - for project events org.apache.tools.ant.Target.TARGET_NAME - for target events TASK_CLASS_NAME.TARGET_NAME - for events in individual targets. In all target and project names we replace "." and " " with "-". TODO: we should use the advanced context logging features (and expose them in c-l first :-) TODO: this is _very_ inefficient. Switching the out and tracking the logs can be optimized a lot - but may require few more changes to the core.

Since:
Ant 1.5

Field Summary
static java.lang.String PROJECT_LOG
          name of the category under which project events are logged
static java.lang.String TARGET_LOG
          name of the category under which target events are logged
 
Constructor Summary
CommonsLoggingListener()
          Construct the listener and make sure that a LogFactory can be obtained.
 
Method Summary
 void buildFinished(BuildEvent event)
          Signals that the last target has finished..
 void buildStarted(BuildEvent event)
          Signals that a build has started..
 void messageLogged(BuildEvent event)
          Signals a message logging event..
 void setEmacsMode(boolean emacsMode)
          Set emacs mode.
 void setErrorPrintStream(java.io.PrintStream err)
          Set the error print stream.
 void setMessageOutputLevel(int level)
          Set the the output level.
 void setOutputPrintStream(java.io.PrintStream output)
          Set the output print stream.
 void targetFinished(BuildEvent event)
          Signals that a target has finished..
 void targetStarted(BuildEvent event)
          Signals that a target is starting..
 void taskFinished(BuildEvent event)
          Signals that a task has finished..
 void taskStarted(BuildEvent event)
          Signals that a task is starting..
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TARGET_LOG

public static final java.lang.String TARGET_LOG
name of the category under which target events are logged

See Also:
Constant Field Values

PROJECT_LOG

public static final java.lang.String PROJECT_LOG
name of the category under which project events are logged

See Also:
Constant Field Values
Constructor Detail

CommonsLoggingListener

public CommonsLoggingListener()
Construct the listener and make sure that a LogFactory can be obtained.

Method Detail

buildStarted

public void buildStarted(BuildEvent event)
Signals that a build has started. This event is fired before any targets have started..

Specified by:
buildStarted in interface BuildListener
Parameters:
event - An event with any relevant extra information. Must not be null.

buildFinished

public void buildFinished(BuildEvent event)
Signals that the last target has finished. This event will still be fired if an error occurred during the build..

Specified by:
buildFinished in interface BuildListener
Parameters:
event - An event with any relevant extra information. Must not be null.
See Also:
BuildEvent.getException()

targetStarted

public void targetStarted(BuildEvent event)
Signals that a target is starting..

Specified by:
targetStarted in interface BuildListener
Parameters:
event - An event with any relevant extra information. Must not be null.
See Also:
BuildEvent.getTarget()

targetFinished

public void targetFinished(BuildEvent event)
Signals that a target has finished. This event will still be fired if an error occurred during the build..

Specified by:
targetFinished in interface BuildListener
Parameters:
event - An event with any relevant extra information. Must not be null.
See Also:
BuildEvent.getException()

taskStarted

public void taskStarted(BuildEvent event)
Signals that a task is starting..

Specified by:
taskStarted in interface BuildListener
Parameters:
event - An event with any relevant extra information. Must not be null.
See Also:
BuildEvent.getTask()

taskFinished

public void taskFinished(BuildEvent event)
Signals that a task has finished. This event will still be fired if an error occurred during the build..

Specified by:
taskFinished in interface BuildListener
Parameters:
event - An event with any relevant extra information. Must not be null.
See Also:
BuildEvent.getException()

messageLogged

public void messageLogged(BuildEvent event)
Signals a message logging event..

Specified by:
messageLogged in interface BuildListener
Parameters:
event - An event with any relevant extra information. Must not be null.
See Also:
BuildEvent.getMessage(), BuildEvent.getException(), BuildEvent.getPriority()

setMessageOutputLevel

public void setMessageOutputLevel(int level)
Set the the output level. This is not used, the logger config is used instead.

Specified by:
setMessageOutputLevel in interface BuildLogger
Parameters:
level - ignored

setOutputPrintStream

public void setOutputPrintStream(java.io.PrintStream output)
Set the output print stream.

Specified by:
setOutputPrintStream in interface BuildLogger
Parameters:
output - the output stream

setEmacsMode

public void setEmacsMode(boolean emacsMode)
Set emacs mode. This is ignored.

Specified by:
setEmacsMode in interface BuildLogger
Parameters:
emacsMode - ignored

setErrorPrintStream

public void setErrorPrintStream(java.io.PrintStream err)
Set the error print stream.

Specified by:
setErrorPrintStream in interface BuildLogger
Parameters:
err - the error stream