仅使用log4j的apacheant输出
我试图实现的是将log4j作为Ant构建文件的唯一输出 获取log4j非常完美,只是它扩展了Ants的输出。所以我得到了Ant的DefaultLogger,其中穿插了log4j输出。以一个非常简单的Ant构建文件为例:仅使用log4j的apacheant输出,ant,Ant,我试图实现的是将log4j作为Ant构建文件的唯一输出 获取log4j非常完美,只是它扩展了Ants的输出。所以我得到了Ant的DefaultLogger,其中穿插了log4j输出。以一个非常简单的Ant构建文件为例: <project name="Maintenance_to_Delivery" default="main" basedir="."> <target name="main"> <echo message="test">
<project name="Maintenance_to_Delivery" default="main" basedir=".">
<target name="main">
<echo message="test">
</target>
</project>
运行这个加上输出:
# ant -lib /app/apache-sf/log4j/1.2.16/log4j-1.2.16.jar:. -listener org.apache.tools.ant.listener.Log4jListener
Buildfile: /home/sysswb/working/qa/sep/M2D-new/build.xml
16:36:59 INFO Build started.
main:
16:37:00 INFO Target "main" started.
[echo] TEST
16:37:00 WARN TEST
16:37:00 INFO Target "main" finished.
BUILD SUCCESSFUL
Total time: 1 second
16:37:00 INFO Build finished
那么-是否有可能让log4j完全替换DefaultLogger输出。。。没有编写自定义记录器?由于-listener参数注册了额外的侦听器,DefaultLogger使用的任何侦听器都可以被删除/禁用吗
我只是Java1.6.0和Ant1.8.0。
TIA。运行ant时,可以在类路径中传递log4j.properties 查看,它有很多详细的解释,下面是“Kevin”的评论,以下是摘录: Log4j通过以下方式加载其配置: 正在查找系统属性 log4j.配置。如果做不到这一点,它就失败了 查找log4j.properties或 类路径上的log4j.xml
运行ant时,可以在类路径中传递log4j.properties 查看,它有很多详细的解释,下面是“Kevin”的评论,以下是摘录: Log4j通过以下方式加载其配置: 正在查找系统属性 log4j.配置。如果做不到这一点,它就失败了 查找log4j.properties或 类路径上的log4j.xml
尝试使用
-e
开关
ant -lib . -listener org.apache.tools.ant.listener.Log4jListener -e main
Buildfile: D:\install\apache-ant-1.8.0RC1-bin\apache-ant-1.8.0RC1\bin\build.xml
14:29:20 INFO Build started.
main:
14:29:20 INFO Target "main" started.
test
14:29:20 WARN test
14:29:20 INFO Target "main" finished.
BUILD SUCCESSFUL
Total time: 0 seconds
14:29:20 INFO Build finished.
[echo]测试
结束尝试使用-e
开关
ant -lib . -listener org.apache.tools.ant.listener.Log4jListener -e main
Buildfile: D:\install\apache-ant-1.8.0RC1-bin\apache-ant-1.8.0RC1\bin\build.xml
14:29:20 INFO Build started.
main:
14:29:20 INFO Target "main" started.
test
14:29:20 WARN test
14:29:20 INFO Target "main" finished.
BUILD SUCCESSFUL
Total time: 0 seconds
14:29:20 INFO Build finished.
[echo]test
不存在了log4j工作得很好-我问题中的示例输出表明了这一点。我的问题是它扩展了输出。。。我想我应该在我的问题“如何抑制DefaultLogger输出”中添加一句,只是为了澄清一下,您不希望Ant使用DefaultLogger。相反,应该使用log4j.properties。是这样的,还是您想完全抑制Ant日志记录?我希望log4j完全控制输出-Ant除了log4j所说的之外,不应该显示任何内容。log4j工作得很好-我正在努力删除默认的Ant logger部分。log4j工作得很好-我问题中的示例输出显示了这一点。我的问题是它扩展了输出。。。我想我应该在我的问题“如何抑制DefaultLogger输出”中添加一句,只是为了澄清一下,您不希望Ant使用DefaultLogger。相反,应该使用log4j.properties。是这样的,还是您想完全抑制Ant日志记录?我希望log4j完全控制输出-Ant除了log4j所说的之外,不应该显示任何内容。log4j工作正常-我正在努力删除默认的Ant logger部分。e所做的就是删除装饰。test仍然是输出,只剩下“[echo]”——即“14:29:20 WARN test”上面的行,但您在脚本中回显“test”。所以这必须出现。我确实在上面提到,“[echo]测试”已经不存在了。e所做的就是移除装饰。test仍然是输出,只剩下“[echo]”——即“14:29:20 WARN test”上面的行,但您在脚本中回显“test”。所以这必须出现。我确实在上面提到,“[回声]测试”已经不存在了。