2009-08-12 69 views
3

通過Ant運行Java類時,即使log4.properties位於類路徑中,我也很難獲取Log4J輸出。記錄下來,以防其他人遇到同樣的問題。如何從使用Ant開始的Java類中看到Log4J輸出?

E.g.

<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> 

回答

6

這可以用類似下面的解決。

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

這將在stderr上打印信息,說明它在哪裏查找配置文件。在manual中有一個簡短的提及。

+0

感謝您花時間記錄這一點。 – hidralisk 2013-01-29 07:39:25

2

如果你很好奇,看看那裏的log4j正在尋找它的配置文件,嘗試設置log4j.debug系統屬性:

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