Apache Ant 监听器和记录器

17 Mar 2025 | 阅读 2 分钟

这是一个允许我们监控 Ant 在执行期间进度的功能。 Ant 使用两个概念进行监控:监听器和记录器,它们都由 Ant 本身提供。 请参阅下面所有支持的监听器。

监听器

  1. 构建开始
  2. 构建完成
  3. 目标开始
  4. 目标完成
  5. 任务开始
  6. 任务完成
  7. 消息已记录

日志记录器 (Loggers)

记录器用于扩展监听器的功能。 它具有各种功能,请参见下文。

  1. 它使用 -logfile 参数将信息记录到控制台或指定的文件中。
  2. 它知道日志级别(-quite、-verbose、-debug)。
  3. Emacs 模式感知

Apache Ant 监听器和记录器接口也可以用 UML 表示。 请参见下面的 UML 图。


Apache Ant Listeners and Loggers

这是一个 BuildListener 和 BuildLogger 接口的 UML 图。

内置监听器和记录器

数据类型参数描述
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 时使用监听器,方法是指定监听器类。

默认记录器

可以使用以下命令运行 DefaultLogger,请参见我们在此处传递了 DefaultLogger 类。

邮件记录器

MailLogger 使用 DefaultLogger 捕获所有输出日志,并通过唯一的电子邮件列表发送成功和失败消息。

MailLogger 类属性

属性描述必需
MailLogger.mailhost要使用的邮件服务器否; 默认 localhost
MailLogger.port邮件服务器的 SMTP 端口否; 默认 25
MailLogger.userSMTP 身份验证的用户名是,如果您的 SMTP 服务器需要 SMTP 身份验证
MailLogger.passwordSMTP 身份验证的密码是,如果您的 SMTP 服务器需要 SMTP 身份验证
MailLogger.ssl如果需要 SSL,则为 on 或 true。 此功能需要 JavaMail不能
MailLogger.from邮件的发件人地址是,如果需要发送邮件
MailLogger.replyto邮件的回复地址,以逗号分隔不能
MailLogger.success.to将成功消息发送到的地址,以逗号分隔是,如果要发送成功邮件
MailLogger.success.cc将成功消息发送到的抄送地址,以逗号分隔不能
MailLogger.success.bcc将成功消息发送到的密送地址,以逗号分隔不能

命令行中的 MailLogger

例如。