没有使用log4j配置

时间:2013-02-22 14:28:13

标签: java java-ee struts2 log4j

我的log4j记录器不想使用log4j.xml文件进行配置。此文件位于src文件夹中,如下所示:

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

3 个答案:

答案 0 :(得分:1)

以下答案并不完全是我的。它由OP发布在问题本身中,因此我将其转移到此社区wiki答案中。


我通过明确配置日志记录配置解决了这个问题。

请注意,如果使用文件对其进行配置,则无法在运行时更改配置。

有关详细信息,请参阅:https://docs.jboss.org/author/display/AS71/How+To#HowTo-HowdoIuselog4j.propertiesorlog4j.xmlinsteadofusingtheloggingsubsystemconfiguration%3F

答案 1 :(得分:0)

确保log4j.xml文件位于Web应用程序的/WEB-INF/classes目录中。

答案 2 :(得分:0)

问题在于日志文件。如果使用绝对文件名,请确保用斜杠替换反斜杠。例如

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