Package org.apache.tools.ant.listener

# Class BigProjectLogger

java.lang.Object
org.apache.tools.ant.DefaultLogger
org.apache.tools.ant.NoBannerLogger
org.apache.tools.ant.listener.SimpleBigProjectLogger
org.apache.tools.ant.listener.BigProjectLogger

All Implemented Interfaces:
  `EventListener`, `BuildListener`, `BuildLogger`, `SubBuildListener`

public class BigProjectLogger extends SimpleBigProjectLogger implements SubBuildListener
This is a special logger that is designed to make it easier to work with big projects, those that use imports and subant to build complex systems.

Since:
  Ant1.7.1

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `FOOTER`
  Footer string for the log.
  `static final String`
  `HEADER`
  Header string for the log.

  ### Fields inherited from class org.apache.tools.ant.NoBannerLogger

  `targetName`

  ### Fields inherited from class org.apache.tools.ant.DefaultLogger

  `emacsMode, err, LEFT_COLUMN_SIZE, lSep, msgOutputLevel, out`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BigProjectLogger()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `buildFinished(BuildEvent event)`
  Prints whether the build succeeded or failed, any errors the occurred during the build, and how long the build took.
  `protected String`
  `extractNameOrDefault(BuildEvent event)`
  Get the name of an event
  `protected String`
  `getBuildFailedMessage()`
  This is an override point: the message that indicates whether a build failed.
  `protected String`
  `getBuildSuccessfulMessage()`
  This is an override point: the message that indicates that a build succeeded.
  `protected String`
  `getFooter()`
  Override point: return the footer string for the entry/exit message
  `protected String`
  `getHeader()`
  Override point: return the header string for the entry/exit message
  `void`
  `messageLogged(BuildEvent event)`
  Logs a message for a target if it is of an appropriate priority, also logging the name of the target if this is the first message which needs to be logged for the target.
  `void`
  `subBuildFinished(BuildEvent event)`
  Signals that the last target has finished.
  `void`
  `subBuildStarted(BuildEvent event)`
  Signals that a subbuild has started.
  `void`
  `targetStarted(BuildEvent event)`
  Notes the name of the target so it can be logged if it generates any messages.
  `void`
  `taskStarted(BuildEvent event)`
  No-op implementation.

  ### Methods inherited from class org.apache.tools.ant.listener.SimpleBigProjectLogger

  `extractTargetName`

  ### Methods inherited from class org.apache.tools.ant.NoBannerLogger

  `targetFinished`

  ### Methods inherited from class org.apache.tools.ant.DefaultLogger

  `buildStarted, extractProjectName, formatTime, getMessageOutputLevel, getTimestamp, log, printMessage, setEmacsMode, setErrorPrintStream, setMessageOutputLevel, setOutputPrintStream, taskFinished`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.apache.tools.ant.BuildListener

  `buildStarted, targetFinished, taskFinished`

- ## Field Details

  - ### HEADER

    public static final String HEADER
    Header string for the log. "======================================================================"
    See Also:
      - Constant Field Values

  - ### FOOTER

    public static final String FOOTER
    Footer string for the log. "======================================================================"
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### BigProjectLogger

    public BigProjectLogger()

- ## Method Details

  - ### getBuildFailedMessage

    protected String getBuildFailedMessage()
    This is an override point: the message that indicates whether a build failed. Subclasses can change/enhance the message.
    Overrides:
      `getBuildFailedMessage` in class `DefaultLogger`
    Returns:
      The classic "BUILD FAILED" plus a timestamp

  - ### getBuildSuccessfulMessage

    protected String getBuildSuccessfulMessage()
    This is an override point: the message that indicates that a build succeeded. Subclasses can change/enhance the message.
    Overrides:
      `getBuildSuccessfulMessage` in class `DefaultLogger`
    Returns:
      The classic "BUILD SUCCESSFUL" plus a timestamp

  - ### targetStarted

    public void targetStarted(BuildEvent event)
    Notes the name of the target so it can be logged if it generates any messages.
    Specified by:
      `targetStarted` in interface `BuildListener`
    Overrides:
      `targetStarted` in class `NoBannerLogger`
    Parameters:
      `event` - BuildEvent
    See Also:
      - `BuildEvent.getTarget()`

  - ### taskStarted

    public void taskStarted(BuildEvent event)
    No-op implementation.
    Specified by:
      `taskStarted` in interface `BuildListener`
    Overrides:
      `taskStarted` in class `DefaultLogger`
    Parameters:
      `event` - BuildEvent
    See Also:
      - `BuildEvent.getTask()`

  - ### buildFinished

    public void buildFinished(BuildEvent event)
    Prints whether the build succeeded or failed, any errors the occurred during the build, and how long the build took.
    Specified by:
      `buildFinished` in interface `BuildListener`
    Overrides:
      `buildFinished` in class `DefaultLogger`
    Parameters:
      `event` - BuildEvent
    See Also:
      - `BuildEvent.getException()`

  - ### messageLogged

    public void messageLogged(BuildEvent event)
    Logs a message for a target if it is of an appropriate priority, also logging the name of the target if this is the first message which needs to be logged for the target.
    Specified by:
      `messageLogged` in interface `BuildListener`
    Overrides:
      `messageLogged` in class `NoBannerLogger`
    Parameters:
      `event` - BuildEvent
    See Also:
      - `BuildEvent.getMessage()`
      - `BuildEvent.getException()`
      - `BuildEvent.getPriority()`

  - ### subBuildStarted

    public void subBuildStarted(BuildEvent event)
    Signals that a subbuild has started. This event is fired before any targets have started.
    Specified by:
      `subBuildStarted` in interface `SubBuildListener`
    Parameters:
      `event` - An event with any relevant extra information. Must not be `null`.

  - ### extractNameOrDefault

    protected String extractNameOrDefault(BuildEvent event)
    Get the name of an event
    Parameters:
      `event` - the event name
    Returns:
      the name or a default string

  - ### subBuildFinished

    public void subBuildFinished(BuildEvent event)
    Signals that the last target has finished. This event will still be fired if an error occurred during the build.
    Specified by:
      `subBuildFinished` in interface `SubBuildListener`
    Parameters:
      `event` - An event with any relevant extra information. Must not be `null`.
    See Also:
      - `BuildEvent.getException()`

  - ### getHeader

    protected String getHeader()
    Override point: return the header string for the entry/exit message
    Returns:
      the header string

  - ### getFooter

    protected String getFooter()
    Override point: return the footer string for the entry/exit message
    Returns:
      the footer string