繁体   English   中英

Apache Ant使用log4j将输出构建到文件

[英]Apache Ant Build output to file using only log4j

我正在使用Eclipse作为IDE和ant作为构建工具开发一个java项目。 对于日志记录,我正在使用log4j库。 我可以使用log4j配置在我的整个应用程序的日志文件中获取日志消息。 但是当我使用ANT构建项目时,ANT构建消息仍然发布到控制台。我想确保在构建项目时,ANT生成的构建消息(如构建失败/成功)也应该发布到同一个使用log4j的记录器文件。

如果有人有详细的想法,请帮助我。 谢谢

您可以使用Ant中提供的Log4jListener

您的log4j.properties文件看起来像这样

log4j.rootLogger=ERROR, LogFile
log4j.logger.org.apache.tools.ant.Project=INFO
log4j.logger.org.apache.tools.ant.Target=INFO
log4j.logger.org.apache.tools.ant.taskdefs=INFO
log4j.logger.org.apache.tools.ant.taskdefs.Echo=WARN

log4j.appender.LogFile=org.apache.log4j.FileAppender
log4j.appender.LogFile.layout=org.apache.log4j.PatternLayout
log4j.appender.LogFile.layout.ConversionPattern=[%6r] %8c{1} : %m%n
log4j.appender.LogFile.file=build.log

当你运行ant构建时,你必须传递监听器参数,如下所示 -

ant -listener org.apache.tools.ant.listener.Log4jListener

要使上面的命令工作,你的log4j.porperites和log4j jar应该在ant类路径上。 这样,您的构建日志将同时发送到控制台和文件build.log

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM