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


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. Optionally one of these may be specified.
output the Resource to write the message to (see note). Since Apache Ant 1.8
append Append to an existing file (or open a new file / overwrite an existing file)? Default false. No; ignored unless output indicates a filesystem destination.
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
force Overwrite read-only destination files. since Ant 1.8.2 No; defaults to false.


<echo message="Hello, world"/>
<echo message="Embed a line break:${line.separator}"/>
<echo>Embed another:${line.separator}</echo>
<echo>This is a longer message stretching over
two lines.
This is a longer message stretching over
three lines; the first line is a blank
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.
A message which appears even in -quiet mode.
<echo file="runner.csh" append="false">#\!/bin/tcsh
java-1.3.1 -mx1024m ${project.entrypoint} $$*
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