## org.apache.tools.ant.listener
Class CommonsLoggingListener

    java.lang.Object
      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