org.apache.tools.ant.listener
Class CommonsLoggingListener

java.lang.Object
  |
  +--org.apache.tools.ant.listener.CommonsLoggingListener
All Implemented Interfaces:
BuildListener, BuildLogger, java.util.EventListener

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

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)
          Sets this logger to produce emacs (and other editor) friendly output.
 void setErrorPrintStream(java.io.PrintStream err)
          Sets the output stream to which this logger is to send error messages.
 void setMessageOutputLevel(int level)
          Sets the highest level of message this logger should respond to.
 void setOutputPrintStream(java.io.PrintStream output)
          Sets the output stream to which this logger is to send its output.
 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
 

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)
Description copied from interface: BuildListener
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.
See Also:
BuildListener.buildStarted(org.apache.tools.ant.BuildEvent)

buildFinished

public void buildFinished(BuildEvent event)
Description copied from interface: BuildListener
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:
BuildListener.buildFinished(org.apache.tools.ant.BuildEvent)

targetStarted

public void targetStarted(BuildEvent event)
Description copied from interface: BuildListener
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:
BuildListener.targetStarted(org.apache.tools.ant.BuildEvent)

targetFinished

public void targetFinished(BuildEvent event)
Description copied from interface: BuildListener
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:
BuildListener.targetFinished(org.apache.tools.ant.BuildEvent)

taskStarted

public void taskStarted(BuildEvent event)
Description copied from interface: BuildListener
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:
BuildListener.taskStarted(org.apache.tools.ant.BuildEvent)

taskFinished

public void taskFinished(BuildEvent event)
Description copied from interface: BuildListener
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:
BuildListener.taskFinished(org.apache.tools.ant.BuildEvent)

messageLogged

public void messageLogged(BuildEvent event)
Description copied from interface: BuildListener
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:
BuildListener.messageLogged(org.apache.tools.ant.BuildEvent)

setMessageOutputLevel

public void setMessageOutputLevel(int level)
Description copied from interface: BuildLogger
Sets the highest level of message this logger should respond to. Only messages with a message level lower than or equal to the given level should be written to the log.

Constants for the message levels are in the Project class. The order of the levels, from least to most verbose, is MSG_ERR, MSG_WARN, MSG_INFO, MSG_VERBOSE, MSG_DEBUG.

Specified by:
setMessageOutputLevel in interface BuildLogger
Parameters:
level - the logging level for the logger.

setOutputPrintStream

public void setOutputPrintStream(java.io.PrintStream output)
Description copied from interface: BuildLogger
Sets the output stream to which this logger is to send its output.

Specified by:
setOutputPrintStream in interface BuildLogger
Parameters:
output - The output stream for the logger. Must not be null.

setEmacsMode

public void setEmacsMode(boolean emacsMode)
Description copied from interface: BuildLogger
Sets this logger to produce emacs (and other editor) friendly output.

Specified by:
setEmacsMode in interface BuildLogger
Parameters:
emacsMode - true if output is to be unadorned so that emacs and other editors can parse files names, etc.

setErrorPrintStream

public void setErrorPrintStream(java.io.PrintStream err)
Description copied from interface: BuildLogger
Sets the output stream to which this logger is to send error messages.

Specified by:
setErrorPrintStream in interface BuildLogger
Parameters:
err - The error stream for the logger. Must not be null.


Copyright 2000-2005 Apache Software Foundation. All Rights Reserved.