Ant - 監聽器和日誌記錄器



Ant允許使用監聽器和日誌記錄器來監控構建過程。

監聽器

Ant提供以下可以使用監聽器捕獲的事件。

  • 構建開始

  • 構建完成

  • 目標開始

  • 目標完成

  • 任務開始

  • 任務完成

  • 記錄訊息

可以使用-listener引數在命令列註冊自定義監聽器。

日誌記錄器

日誌記錄器擴充套件了監聽器的功能,並添加了以下功能

  • 可以使用-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 − 僅為子專案列印專案名稱,否則類似於自Ant 1.8.1以來的NoBannerLogger

  • 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:\tutorialspoint\ant>ant -logger org.apache.tools.ant.listener.TimestampedLogger
Buildfile: F:\tutorialspoint\ant\build.xml

copy:
   [echo] File Copied

BUILD SUCCESSFUL - at 03/12/21, 11:24 AM
Total time: 0 seconds

F:\tutorialspoint\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:\tutorialspoint\ant\build.xml

現在您可以檢查是否建立了包含相關日誌的build_log.xml檔案。

廣告