Apache Ant監聽器和記錄器


這是一個允許我們在執行期間監視Ant進度的進度的功能。 Ant使用兩個概念進行監視:偵聽器和記錄器,兩者都由Ant本身提供。 請參閱下面的所有支援的偵聽器。

1. 監聽器

  • 構建開始
  • 構建完成後
  • 目標開始後
  • 目標完成後
  • 任務開始後
  • 任務完成後
  • 訊息記錄

2. 記錄器

記錄器用於擴充套件偵聽器功能。它具有各種功能,如下文中所示。

  • 它將資訊記錄到控制台或使用-logfile引數指定的檔案。
  • 它是紀錄檔記錄級別(-quite-verbose-debug)。
  • Emacs圖形識別

Apache Ant ListenersLoggers介面也可以用UML表示。 請參閱下面的UML圖。

它是BuildListenerBuildLogger介面的UML圖。

3. 內建監聽器和記錄器

資料型別 引數 描述
org.apache.tools.ant.DefaultLogger 它是預設記錄器,可以使用-logger命令列開關覆蓋。 BuildLogger
org.apache.tools.ant.NoBannerLogger 它用於省略空目標輸出的輸出。 BuildLogger
org.apache.tools.ant.listener.MailLogger 它擴充套件了DefaultLogger並生成相同的輸出並行送電子郵件。 BuildLogger
org.apache.tools.ant.listener.AnsiColorLogger 它用於為構建輸出提供顏色。 BuildLogger
org.apache.tools.ant.listener.Log4jListener 它用於將事件傳遞給Apache Log4j紀錄檔記錄。 BuildListener
org.apache.tools.ant.XmlLogger 它將構建資訊寫入XML檔案。 BuildLogger
org.apache.tools.ant.TimestampedLogger 它用於列印構建完成的時間。 BuildLogger
org.apache.tools.ant.listener.BigProjectLogger 它用於列印每個目標的專案名稱。 BuildLogger
org.apache.tools.ant.listener.SimpleBigProjectLogger 它僅列印子專案的專案名稱。 BuildLogger
org.apache.tools.ant.listener.ProfileLogger 它是一個預設記錄器,為每個任務和目標新增了開始時間,結束時間和持續時間。 BuildLogger

可以將任意數量的構建偵聽器附加到專案。可以通過指定監聽器類從命令列執行ant時使用監聽器。

4. 預設記錄器

可以使用以下命令執行DefaultLogger,請參閱下面命令傳遞了DefaultLogger類。

$ ant -logger org.apache.tools.ant.DefaultLogger

5. 郵件記錄器

MailLogger使用DefaultLogger捕獲所有輸出紀錄檔,並通過唯一的電子郵寄清單傳送成功和失敗訊息。

MailLogger類屬性

屬性 描述 必需
MailLogger.mailhost 要使用的郵件伺服器 否,預設是:localhost
MailLogger.port 郵件伺服器的SMTP埠 否,預設是:25
MailLogger.user SMTP身份驗證的使用者名 是,如果SMTP伺服器上需要SMTP身份驗證
MailLogger.password SMTP身份驗證的密碼 是,如果SMTP伺服器上需要SMTP身份驗證
MailLogger.ssl 如果需要SSL,則為ontrue,此功能需要JavaMail
MailLogger.from 來自地址的郵件 是,如果需要傳送郵件
MailLogger.replyto 郵件回復地址,以逗號分隔
MailLogger.success.to 地址(es)傳送成功訊息,以逗號分隔 是,如果要傳送成功郵件
MailLogger.success.cc 地址(es)將成功訊息傳送到抄送(cc),逗號分隔
MailLogger.success.bcc 地址(es)將成功訊息傳送到密件抄送(bcc),逗號分隔

命令列中的MailLogger範例:

ant -logger org.apache.tools.ant.listener.MailLogger