”;
Ant allows the build process to be monitored using listeners and loggers.
Listeners
Ant provides following events to be captured using listeners.
-
build started
-
build finished
-
target started
-
target finished
-
task started
-
task finished
-
message logged
Custom listeners can be registered on command line using -listener argument.
Loggers
Loggers extends listeners capabilities and add the following features
-
Can log information to console or file using -logfile argument
-
Can log using logging levels like -quiet, -verbose, -debug
-
Are emacs-mode aware
Built-in Listeners/loggers
-
org.apache.tools.ant.DefaultLogger − The logger used implicitly unless overridden with the -logger command-line switch.
-
org.apache.tools.ant.NoBannerLogger − This logger omits output of empty target output.
-
org.apache.tools.ant.listener.MailLogger − Extends DefaultLogger such that output is still generated the same, and when the build is finished an e-mail can be sent.
-
org.apache.tools.ant.listener.AnsiColorLogger − Colorifies the build output.
-
org.apache.tools.ant.listener.Log4jListener − Passes events to Apache Log4j for highly customizable logging.
-
org.apache.tools.ant.XmlLogger − Writes the build information to an XML file.
-
org.apache.tools.ant.TimestampedLogger − Prints the time that a build finished
-
org.apache.tools.ant.listener.BigProjectLogger − Prints the project name every target
-
org.apache.tools.ant.listener.SimpleBigProjectLogger − Prints the project name for subprojects only, otherwise like NoBannerLogger Since Ant 1.8.1
-
org.apache.tools.ant.listener.ProfileLogger − The default logger, with start times, end times and durations added for each task and target.
Example
Create build.xml with the following content:
<?xml version="1.0"?> <project name="sample" basedir="." default="copy"> <target name="copy"> <echo>File Copied</echo> </target> </project>
Output
Running Ant on the above build file produces the following output −
F:tutorialspointant>ant -logger org.apache.tools.ant.listener.TimestampedLogger Buildfile: F:tutorialspointantbuild.xml copy: [echo] File Copied BUILD SUCCESSFUL - at 03/12/21, 11:24 AM Total time: 0 seconds F:tutorialspointant>ant -logger org.apache.tools.ant.XmlLogger -verbose -logfile build_log.xml Apache Ant(TM) version 1.10.12 compiled on October 13 2021 Trying the default build file: build.xml Buildfile: F:tutorialspointantbuild.xml
Now you can check build_log.xml file is created with relevant logs.
”;