Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅使用log4j的apacheant输出_Ant - Fatal编程技术网

仅使用log4j的apacheant输出

仅使用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">

我试图实现的是将log4j作为Ant构建文件的唯一输出

获取log4j非常完美,只是它扩展了Ants的输出。所以我得到了Ant的DefaultLogger,其中穿插了log4j输出。以一个非常简单的Ant构建文件为例:

<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”。所以这必须出现。我确实在上面提到,“[回声]测试”已经不存在了。