2013-02-22 118 views
1

我的log4j記錄器不想使用要配置的log4j.xml文件。該文件位於src文件夾,看起來像這樣:未使用log4j配置

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration> 
    <appender name="ROLLING" class="org.apache.log4j.RollingFileAppender"> 
     <param name="File" value="C:\debug\myproject\logfile.log" /> 
     <param name="MaxFileSize" value="10024KB" /> 
     <param name="MaxBackupIndex" value="5" /> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%-5p %d{dd-MM HH:mm:ss,SSS} (%F:%M:%L) -%m%n" /> 
     </layout> 
     <filter class="org.apache.log4j.varia.LevelRangeFilter"> 
      <param name="LevelMin" value="DEBUG" /> 
      <param name="LevelMax" value="FATAL" /> 
     </filter> 
    </appender> 
    <root> 
     <level value="DEBUG" /> 
     <appender-ref ref="ROLLING" /> 
    </root> 
</log4j:configuration> 

但LOGFILE.LOG仍然是空的,並沒有在控制檯中沒有「DEBUG」行。

注意:這是一個JBoss 7.1.0上的Java EE項目,使用Struts2。

+0

如何加載log4j設置?同時顯示構建項目中log4j conf的路徑 – JIV 2013-02-22 14:39:02

+1

您是否嘗試過使用「-Dlog4j.debug」或任何標準的記錄方式來解決設置問題? – 2013-02-22 14:39:13

+0

我在一些文章中看到log4j正在尋找自己的log4j.properties或xml文件。所以,我沒有指定其他的東西。 – Florent06 2013-02-22 14:50:56

回答

0

確保log4j.xml文件位於您的Web應用程序的/WEB-INF/classes目錄中。

+0

是的,它在這個目錄下。 – Florent06 2013-02-22 18:42:18

+0

..理想情況下,它應該在EAR之外。您的日誌配置文件位置應獨立於您構建和部署的EAR。這意味着你可以從DEBUG切換到INFO而無需構建EAR,這是一個漫長的過程:) – user1428716 2013-02-24 09:27:55

0

問題出在日誌文件上。如果使用絕對文件名,請確保使用斜線替換反斜槓。例如

<param name="File" value="C:/debug/myproject/logfile.log" />