## Echo

### Description

Echoes a message to the current loggers and listeners which means `System.out` unless overridden. A `level` can be specified, which controls at what logging level the message is filtered at.

The task can also echo to a file, in which case the option to append rather than overwrite the file is available, and the `level` option is ignored

### Parameters

Attribute | Description | Required
message | the message to echo. | No. Text may also be included in a character section within this element. If neither is included a blank line will be emitted in the output.
file | the file to write the message to. | No
append | Append to an existing file (or open a new file / overwrite an existing file)? | No - default is false.
level | Control the level at which this message is reported. One of "error", "warning", "info", "verbose", "debug" (decreasing order) | No - default is "warning".
encoding | encoding to use, default is ""; the local system encoding. since Ant 1.7 | No

### Examples

    <echo message="Hello, world"/>

    <echo message="Embed a line break:
    "/>

    <echo>Embed another:
    </echo>

    <echo>This is a longer message stretching over
    two lines.
    </echo>

    <echo>
    This is a longer message stretching over
    three lines; the first line is a blank
    </echo>

The newline immediately following the <echo> tag will be part of the output.
Newlines in character data within the content of an element are not discarded by XML parsers.
See W3C Recommendation 04 February 2004 / End of Line handling for more details.

    <echo message="Deleting drive C:" level="debug"/>

A message which only appears in `-debug` mode.

    <echo level="error">
    Imminent failure in the antimatter containment facility.
    Please withdraw to safe location at least 50km away.
    </echo>

A message which appears even in `-quiet` mode.

    <echo file="runner.csh" append="false">#\!/bin/tcsh
    java-1.3.1 -mx1024m ${project.entrypoint} $*
    </echo>

Generate a shell script by echoing to a file. Note the use of a double $ symbol to stop Ant filtering out the single $ during variable expansion

Depending on the loglevel Ant runs, messages are print out or silently ignored:

Ant-Statement | -quiet, -q | no statement | -verbose, -v | -debug, -d
--- | --- | --- | --- | ---
    <echo message="This is error message." level="error" />
| ok | ok | ok | ok
    <echo message="This is warning message." />
| ok | ok | ok | ok
    <echo message="This is warning message." level="warning" />
| ok | ok | ok | ok
    <echo message="This is info message." level="info" />
| not logged | ok | ok | ok
    <echo message="This is verbose message." level="verbose" />
| not logged | not logged | ok | ok
    <echo message="This is debug message." level="debug" />
| not logged | not logged | not logged | ok