通过java代码执行Ant脚本时使用log4j

时间:2014-12-02 14:41:03

标签: java ant log4j

我见过几个通过java代码运行ANT的例子。 Here就是这样一个例子。这里使用的是DefaultLogger:

Project p = new Project();
.
.
DefaultLogger consoleLogger = new DefaultLogger();
consoleLogger.setErrorPrintStream(System.err);
consoleLogger.setOutputPrintStream(System.out);
consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
p.addBuildListener(consoleLogger);

但是我想使用log4j。我已经在应用程序中定义了mylog4j.xml。我想使用相同的XML来配置 ANT LOGGER(" org.apache.tools.ant"),并希望使用此记录器。有人能告诉我如何在java代码中这样做吗?

注意:我做过类似的事情:

org.apache.tools.ant.listener.Log4jListener log4j = new Log4jListener();  
p.addBuildListener(log4j);

但我不知道如何指定ant启动器的log4j config xml文件路径。

1 个答案:

答案 0 :(得分:0)

无法使用ANT的API指定文件的位置。但是,您可以使用课程org.apache.log4j.xml.DOMConfigurator。 e.g:

DOMConfigurator.configure("/path/to/mylog4j.xml");
Project p = new Project(); 
p.addBuildListener(new Log4jListener());

另请参阅Listeners & Loggers中的Apache Ant 1.9.4 Manual