# TargetLogger

Extends \AnsiColorLogger

Extends AnsiColorLogger to display times for each target

If used with the -logfile option, the output file will contain all the necessary escape codes to display the text in colorized mode when displayed in the console using applications like cat, more, etc.

This is designed to work on terminals that support ANSI color codes. It works on XTerm, ETerm, Mindterm, etc. It also works on Win9x (with ANSI.SYS loaded.)

NOTE: It doesn't work on WinNT's COMMAND.COM even with ANSI.SYS loaded.

The default colors used for differentiating the message levels can be changed by editing the phing/listener/defaults.properties file.

This file contains 5 key/value pairs: AnsiColorLogger.ERROR_COLOR=2;31 AnsiColorLogger.WARNING_COLOR=2;35 AnsiColorLogger.INFO_COLOR=2;36 AnsiColorLogger.VERBOSE_COLOR=2;32 AnsiColorLogger.DEBUG_COLOR=2;34

Another option is to pass a system variable named ant.logger.defaults, with value set to the path of the file that contains user defined Ansi Color Codes, to the java command using -D option.

To change these colors use the following chart:

     <B>ANSI COLOR LOGGER CONFIGURATION</B>

Format for AnsiColorLogger.*= Attribute;Foreground;Background

Attribute is one of the following: 0 -> Reset All Attributes (return to normal mode) 1 -> Bright (Usually turns on BOLD) 2 -> Dim 3 -> Underline 5 -> link 7 -> Reverse 8 -> Hidden

Foreground is one of the following: 30 -> Black 31 -> Red 32 -> Green 33 -> Yellow 34 -> Blue 35 -> Magenta 36 -> Cyan 37 -> White

Background is one of the following: 40 -> Black 41 -> Red 42 -> Green 43 -> Yellow 44 -> Blue 45 -> Magenta 46 -> Cyan 47 -> White

author | Patrick McAndrew patrick@urg.name

copyright

1. All rights reserved

version | $Id: e5ae611d970cd766f7f23fe5a70c6483e66aceb5 $
package | phing.listener

### Methods

## Construct a new default logger.

    __construct()

inherited

## Prints whether the build succeeded or failed, and any errors that occurred during the build. Also outputs the total build-time.

    buildFinished(\BuildEvent $event)

inherited

see | \BuildEvent::getException()

### Arguments

#### $event

`\BuildEvent`

## Sets the start-time when the build started. Used for calculating the build-time.

    buildStarted(\BuildEvent $event)

inherited

### Arguments

#### $event

`\BuildEvent`

## Formats a time micro integer to human readable format.

    formatTime( $micros) : string

inherited static

### Arguments

#### $micros

``

### Response

`string`

## Get the message to return when a build failed.

    getBuildFailedMessage() : string

inherited

### Response

`string`

The classic "BUILD FAILED"

## Get the message to return when a build succeeded.

    getBuildSuccessfulMessage() : string

inherited

### Response

`string`

The classic "BUILD FINISHED"

## Print a message to the stdout.

    messageLogged(\BuildEvent $event)

inherited

see | \BuildEvent::getMessage()

### Arguments

#### $event

`\BuildEvent`

## Prints a message to console.

    printMessage(string $message, \OutputStream|resource $stream, integer $priority) : void

inherited

throws |

### Arguments

#### $message

`string`

The message to print. Should not be `null`.

#### $stream

`\OutputStream|resource`

The stream to use for message printing.

#### $priority

`integer`

The priority of the message. (Ignored in this implementation.)

## Set the colors to use from a property file specified by the special ant property ant.logger.defaults

    setColors()

inherited final

## Sets this logger to produce emacs (and other editor) friendly output.

    setEmacsMode(boolean $emacsMode)

inherited

### Arguments

#### $emacsMode

`boolean`

`true` if output is to be unadorned so that emacs and other editors can parse files names, etc.

## Sets the error stream.

    setErrorStream(\OutputStream $err)

inherited

see | \BuildLogger#setErrorStream()

### Arguments

#### $err

`\OutputStream`

## Set the msgOutputLevel this logger is to respond to.

    setMessageOutputLevel(integer $level)

inherited

Only messages with a message level lower than or equal to the given level are output to the log.

Constants for the message levels are in Project.php. The order of the levels, from least to most verbose, is:

- Project::MSG_ERR
- Project::MSG_WARN
- Project::MSG_INFO
- Project::MSG_VERBOSE
- Project::MSG_DEBUG

The default message level for DefaultLogger is Project::MSG_ERR.

see | \BuildLogger#setMessageOutputLevel()

### Arguments

#### $level

`integer`

The logging level for the logger.

## Sets the output stream.

    setOutputStream(\OutputStream $output)

inherited

see | \BuildLogger#setOutputStream()

### Arguments

#### $output

`\OutputStream`

## Fired when a target has finished. We don't need specific action on this event. So the methods are empty.

    targetFinished(\BuildEvent $event)

inherited

see | \BuildEvent::getException()

### Arguments

#### $event

`\BuildEvent`

## Prints the current target name

    targetStarted(\BuildEvent $event)

inherited

see | \BuildEvent::getTarget()

### Arguments

#### $event

`\BuildEvent`

## Fired when a task has finished. We don't need specific action on this event. So the methods are empty.

    taskFinished(\BuildEvent $event)

inherited

see | \BuildEvent::getException()

### Arguments

#### $event

`\BuildEvent`

The BuildEvent

## Fired when a task is started. We don't need specific action on this event. So the methods are empty.

    taskStarted(\BuildEvent $event)

inherited

see | \BuildEvent::getTask()

### Arguments

#### $event

`\BuildEvent`

## throwableMessage

    throwableMessage( &$msg,  $error,  $verbose)

inherited static

### Arguments

#### $msg

``

#### $error

``

#### $verbose

``

### Constants

## ATTR_NORMAL

    ATTR_NORMAL

inherited

## ATTR_BRIGHT

    ATTR_BRIGHT

inherited

## ATTR_DIM

    ATTR_DIM

inherited

## ATTR_UNDERLINE

    ATTR_UNDERLINE

inherited

## ATTR_BLINK

    ATTR_BLINK

inherited

## ATTR_REVERSE

    ATTR_REVERSE

inherited

## ATTR_HIDDEN

    ATTR_HIDDEN

inherited

## FG_BLACK

    FG_BLACK

inherited

## FG_RED

    FG_RED

inherited

## FG_GREEN

    FG_GREEN

inherited

## FG_YELLOW

    FG_YELLOW

inherited

## FG_BLUE

    FG_BLUE

inherited

## FG_MAGENTA

    FG_MAGENTA

inherited

## FG_CYAN

    FG_CYAN

inherited

## FG_WHITE

    FG_WHITE

inherited

## BG_BLACK

    BG_BLACK

inherited

## BG_RED

    BG_RED

inherited

## BG_GREEN

    BG_GREEN

inherited

## BG_YELLOW

    BG_YELLOW

inherited

## BG_BLUE

    BG_BLUE

inherited

## BG_MAGENTA

    BG_MAGENTA

inherited

## BG_CYAN

    BG_CYAN

inherited

## BG_WHITE

    BG_WHITE

inherited

## PREFIX

    PREFIX

inherited

## SUFFIX

    SUFFIX

inherited

## SEPARATOR

    SEPARATOR

inherited

## END_COLOR

    END_COLOR

inherited

## Size of the left column in output. The default char width is 12.

    LEFT_COLUMN_SIZE

inherited

var |

### Properties

## targetName

    targetName :

### Type(s)

``

## targetStartTime

    targetStartTime :

### Type(s)

``

## errColor

    errColor :

inherited

### Type(s)

``

## warnColor

    warnColor :

inherited

### Type(s)

``

## infoColor

    infoColor :

inherited

### Type(s)

``

## verboseColor

    verboseColor :

inherited

### Type(s)

``

## debugColor

    debugColor :

inherited

### Type(s)

``

## colorsSet

    colorsSet :

inherited

### Type(s)

``

## The message output level that should be used. The default is <code>Project::MSG_VERBOSE</code>.

    msgOutputLevel : integer

inherited

var |

### Type(s)

`integer`

## Time that the build started

    startTime : integer

inherited

var |

### Type(s)

`integer`

## Stream to use for standard output.

    out : \OutputStream

inherited

var | Stream to use for standard output.

### Type(s)

`\OutputStream`

## Stream to use for error output.

    err : \OutputStream

inherited

var | Stream to use for error output.

### Type(s)

`\OutputStream`

## emacsMode

    emacsMode :

inherited

### Type(s)

``