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