【问题标题】:Apache Ant Build output to file using only log4jApache Ant Build 输出到文件只使用 log4j
【发布时间】:2016-11-11 09:25:39
【问题描述】:

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

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

【问题讨论】:

    标签: apache logging ant build log4j


    【解决方案1】:

    您可以使用 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 构建时,你必须按如下方式传递 listener 参数 -

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 1970-01-01
      • 2013-10-22
      相关资源
      最近更新 更多