Ant - 监听器和记录器

  • 简述

    Ant 允许使用侦听器和记录器监视构建过程。
  • 听众

    Ant 提供以下要使用侦听器捕获的事件。
    • 构建开始
    • 构建完成
    • 目标开始
    • 目标完成
    • 任务开始
    • 任务完成
    • 消息已记录
    可以使用命令行在命令行上注册自定义侦听器-listener争论。
  • 记录器

    Loggers 扩展了侦听器功能并添加了以下功能
    • 可以将信息记录到控制台或文件使用-logfile争论
    • 可以使用 -quiet、-verbose、-debug 等日志记录级别进行记录
    • 是否支持 emacs 模式
  • 内置监听器/记录器

    • org.apache.tools.ant.DefaultLogger− 记录器隐式使用,除非被 -logger 命令行开关覆盖。
    • org.apache.tools.ant.NoBannerLogger− 此记录器省略空目标输出的输出。
    • org.apache.tools.ant.listener.MailLogger- 扩展 DefaultLogger,使得输出仍然生成相同,并且当构建完成时可以发送电子邮件。
    • org.apache.tools.ant.listener.AnsiColorLogger− 为构建输出着色。
    • org.apache.tools.ant.listener.Log4jListener− 将事件传递给 Apache Log4j 以实现高度可定制的日志记录。
    • org.apache.tools.ant.XmlLogger− 将构建信息写入 XML 文件。
    • org.apache.tools.ant.TimestampedLogger- 打印构建完成的时间
    • org.apache.tools.ant.listener.BigProjectLogger− 打印每个目标的项目名称
    • org.apache.tools.ant.listener.SimpleBigProjectLogger- 仅打印子项目的项目名称,否则像 NoBannerLogger Since Ant 1.8.1
    • org.apache.tools.ant.listener.ProfileLogger- 默认记录器,为每个任务和目标添加开始时间、结束时间和持续时间。
  • 例子

    使用以下内容创建 build.xml:
    
    
    <?xml version="1.0"?>
    
    <project name="sample" basedir="." default="copy">
    
       <target name="copy">
    
         <echo>File Copied</echo>
    
       </target>
    
    </project>
    
    
  • 输出

    在上述构建文件上运行 Ant 会产生以下输出 -
    
    
    F:\jc2182\ant>ant -logger org.apache.tools.ant.listener.TimestampedLogger
    
    Buildfile: F:\jc2182\ant\build.xml
    
    
    
    copy:
    
       [echo] File Copied
    
    
    
    BUILD SUCCESSFUL - at 03/12/21, 11:24 AM
    
    Total time: 0 seconds
    
    
    
    F:\jc2182\ant>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:\jc2182\ant\build.xml
    
    
    现在您可以检查 build_log.xml 文件是否使用相关日志创建。