2016-11-11 61 views
1

我正在開發一個使用Eclipse作爲IDE和ant作爲構建工具的java項目。對於日誌記錄,我正在使用log4j庫。我可以使用log4j配置將日誌消息存儲在整個應用程序的日誌文件中。但是,當我使用ANT構建項目時,ANT構建消息仍然發佈到控制檯。我想確保在構建項目時,ANT生成的構建消息(如構建失敗/成功)也應該發佈到相同的記錄器文件使用log4j。Apache Ant僅使用log4j將輸出生成爲文件

如果有人有詳細的想法,請幫助我。謝謝

回答

0

您可以使用螞蟻中的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