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



我见过几个通过java代码运行ANT的例子。下面是一个这样的例子。这里使用的是 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);

但是我不知道如何指定 log4j 配置 xml 文件路径到蚂蚁启动器。

无法使用

ANT 的 API 指定文件的位置。但是,您可以使用类org.apache.log4j.xml.DOMConfigurator 。例如:

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

另请参阅Apache Ant 1.9.4手册中的侦听器和记录器

相关内容

  • 没有找到相关文章

最新更新