2013-02-22 66 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" />