CommonsLoggingListener (Apache Ant API)
Date: 2015-06-29

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
    Modifier and Type | Field and Description
    --- | ---
    `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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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