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

Fields
`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

Constructors
Constructor and Description
`CommonsLoggingListener()` Construct the listener and make sure that a LogFactory can be obtained.

### Method Summary

All Methods Instance Methods Concrete Methods
`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.

This event is fired before the project instance is fully configured. In particular no properties have been set and the project may not know its name or default target, yet.

.

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