如何从Ant开始的Java类中看到Log4J输出?

时间:2009-08-12 15:35:42

标签: ant log4j

当通过Ant运行Java类时,我在获取Log4J输出时遇到了很多麻烦,即使log4.properties在类路径上也是如此。在此记录,以防其他人遇到同样的问题。

E.g。

<java classname="Hello" fork="true">      
    <classpath> 
    <fileset dir="${lib.dir}">
        <include name="**/*.jar"/>
    </fileset>     
    </classpath>
</java>

2 个答案:

答案 0 :(得分:6)

这可以通过以下方式解决:

<property name="log4j" value="file:///${basedir}/log4j.properties"/>
...
<java classname="Hello" fork="true">   
    <sysproperty key="log4j.configuration" value="${log4j}"/>
    <classpath> 
        <fileset dir="${lib.dir}">
            <include name="**/*.jar"/>
        </fileset>     
    </classpath>
</java>

答案 1 :(得分:2)

如果您想知道log4j在哪里查找配置文件,请尝试设置log4j.debug系统属性。

<java classname="Hello" fork="true">
  <sysproperty key="log4j.debug" value="true" />
  <classpath>
    …
  </classpath>
</java>

这将打印有关stderr的信息,说明它在寻找配置文件的位置。在manual中有一个简短的提及。