## 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-2004 Apache Software Foundation. All Rights Reserved.