我见过几个通过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文件路径。
答案 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());