# DefaultLogger

Implements \StreamRequiredBuildLogger

Writes a build event to the console.

Currently, it only writes which targets are being executed, and any messages that get logged.

author | Andreas Aderhold andi@binarycloud.com
copyright | 2001,2002 THYRELL. All rights reserved
version | $Id: 25f84e8447739435ac449a31307150bd6d8ea62a $
see |
package | phing.listener

### Methods

## Construct a new default logger.

    __construct()

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

    buildFinished(\BuildEvent $event)

see | \BuildEvent::getException()

### Arguments

#### $event

`\BuildEvent`

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

    buildStarted(\BuildEvent $event)

### Arguments

#### $event

`\BuildEvent`

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

    formatTime( $micros) : string

static

### Arguments

#### $micros

``

### Response

`string`

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

    getBuildFailedMessage() : string

### Response

`string`

The classic "BUILD FAILED"

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

    getBuildSuccessfulMessage() : string

### Response

`string`

The classic "BUILD FINISHED"

## Print a message to the stdout.

    messageLogged(\BuildEvent $event)

see | \BuildEvent::getMessage()

### Arguments

#### $event

`\BuildEvent`

## Prints a message to console.

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

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.)

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

    setEmacsMode(boolean $emacsMode)

### 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)

see | \BuildLogger#setErrorStream()

### Arguments

#### $err

`\OutputStream`

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

    setMessageOutputLevel(integer $level)

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)

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)

see | \BuildEvent::getException()

### Arguments

#### $event

`\BuildEvent`

## Prints the current target name

    targetStarted(\BuildEvent $event)

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)

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)

see | \BuildEvent::getTask()

### Arguments

#### $event

`\BuildEvent`

## throwableMessage

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

static

### Arguments

#### $msg

``

#### $error

``

#### $verbose

``

### Constants

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

    LEFT_COLUMN_SIZE

var |

### Properties

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

    msgOutputLevel : integer

var |

### Type(s)

`integer`

## Time that the build started

    startTime : integer

var |

### Type(s)

`integer`

## Stream to use for standard output.

    out : \OutputStream

var | Stream to use for standard output.

### Type(s)

`\OutputStream`

## Stream to use for error output.

    err : \OutputStream

var | Stream to use for error output.

### Type(s)

`\OutputStream`

## emacsMode

    emacsMode :

### Type(s)

``