Apache Ant监听器和记录器
精华
小牛编辑
109浏览
2023-03-14
这是一个允许我们在执行期间监视Ant进度的进度的功能。 Ant使用两个概念进行监视:侦听器和记录器,两者都由Ant本身提供。 请参阅下面的所有支持的侦听器。
1. 监听器
- 构建开始
- 构建完成后
- 目标开始后
- 目标完成后
- 任务开始后
- 任务完成后
- 消息记录
2. 记录器
记录器用于扩展侦听器功能。它具有各种功能,如下文中所示。
- 它将信息记录到控制台或使用
-logfile
参数指定的文件。 - 它是日志记录级别(
-quite
,-verbose
,-debug
)。 - Emacs模式识别
Apache Ant Listeners
和Loggers
接口也可以用UML表示。 请参阅下面的UML图。
它是BuildListener
和BuildLogger
接口的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,则为on 或true ,此功能需要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