Pokud máte složitější build.xml, výstup není snadné číst a například struktura vnoření jednotlivých targetů je ztracena. Pro lepší výstup můžete použít XmlLogger (funguje i v Eclipse 3.4):
ant -logger org.apache.tools.ant.XmlLogger -logfile build_log.xml
(detaily použití lze nalézt v dokumentaci Ant listener)
Výstup vypadá takto:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="log.xsl"?>
<build time="12 seconds">
<task location="build.xml:198: " name="echo" time="0 seconds">
<message priority="warn"><![CDATA[Some message]]></message>
</task>
<target name="compile" time="11 seconds">
<task location="build.xml:1548: " name="antcallback" time="0 seconds">
<target name="privateCompileSingleProject" time="0 seconds">
<task location="build.xml:1383: " name="if" time="0 seconds" />
<task location="build.xml:1394: " name="echo" time="0 seconds">
<message priority="warn"><![CDATA[Providing dependencies ...]]></message>
</task>
<task location="build.xml:1400: " name="ParseDotClasspath" time="0 seconds">
<message priority="info"><![CDATA[Classpath: ..]]></message>
</task>
<task location="build.xml:1402: " name="property" time="0 seconds" />
...
Jak lze vidět, výstup je strukturovaný a jako bonus je připojena informace o délce trvání tasku a odkaz na zdrojovou řádku. Při použití vhodného XML editoru a foldingu lze pak lépe sledovat, která zpráva patří ke kterému targetu a vnoření jednotlivých targetů. Je to skoro stejné jako má IntelliJ Idea Ant Tree mode, pouze pracnější. Bohužel díky tomu, že listener připojuje i délku trvání jednotlivých tasků je log vytvořen až po provedení celého build scriptu.
Výsledné XML lze transformovat na HTML, ale transofrmací se ztratí informace o struktuře, více viz apache-ant\src\etc\log.xsl.