BigProjectLogger (Apache Ant API)
Date: 2016-04-09

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:
    java.util.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 and Description
    --- | ---
    `static java.lang.String` | `FOOTER` Footer string for the log.
    `static java.lang.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 and Description
    `BigProjectLogger()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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 java.lang.String` | `extractNameOrDefault(BuildEvent event)` Get the name of an event
    `protected java.lang.String` | `getBuildFailedMessage()` This is an override point: the message that indicates whether a build failed.
    `protected java.lang.String` | `getBuildSuccessfulMessage()` This is an override point: the message that indicates that a build succeeded.
    `protected java.lang.String` | `getFooter()` Override point: return the footer string for the entry/exit message
    `protected java.lang.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, 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 Detail

    - #### HEADER

          public static final java.lang.String HEADER

      Header string for the log. "======================================================================"
      See Also:
        Constant Field Values

    - #### FOOTER

          public static final java.lang.String FOOTER

      Footer string for the log. "======================================================================"
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### BigProjectLogger

          public BigProjectLogger()

  - ### Method Detail

    - #### getBuildFailedMessage

          protected java.lang.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 java.lang.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` -
      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` -
      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` -
      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` -
      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 java.lang.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 java.lang.String getHeader()

      Override point: return the header string for the entry/exit message
      Returns:
        the header string

    - #### getFooter

          protected java.lang.String getFooter()

      Override point: return the footer string for the entry/exit message
      Returns:
        the footer string