无法更改服务器端的日志级别

时间:2017-08-01 14:55:57

标签: java log4j

以下是使用log4j并在我的应用程序中插入日志语句的代码。

的web.xml 修改了web.xml并包含以下行。

  <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/log4j.xml</param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

log4j.xml:它位于WEB-INF文件夹中

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true" xmlns:log4j='http://jakarta.apache.org/log4j/'>
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <param name="Target" value="System.out" />
        <param name="Threshold" value="debug" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p %c{1}:%L %m %n" />
        </layout>
    </appender>

    <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
        <param name="Threshold" value="INFO" />
        <param name="Threshold" value="debug" />
        <param name="maxFileSize" value="30MB" />
        <param name="maxBackupIndex" value="10" />
        <param name="file" value="${catalina.home}/logs/myAppLog.log"/>
        <param name="append" value="true" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L %m %n" />
        </layout>
    </appender>

    <!--  3rdparty Loggers -->
    <logger name="org.springframework.core">
        <level value="info" />
    </logger>

    <logger name="org.springframework.beans">
        <level value="info" />
    </logger>

    <logger name="org.springframework.context">
        <level value="info" />
    </logger>

    <logger name="org.springframework.web">
        <level value="info" />
    </logger>

    <!-- Root Logger -->
    <root>
        <priority value="debug"></priority>
        <appender-ref ref="fileAppender" />
    </root>

</log4j:configuration>

我想在服务器端将日志级别从调试更改为信息/错误,而无需重新启动服务器,它必须应用日志级别,但它没有采用修改后的日志级别。有什么建议? 如何更改服务器端的日志级别,更改应该在我修改文件后立即生效。服务器是tomcat,log4j1.2.17.jar是我正在使用的jar文件。

1 个答案:

答案 0 :(得分:0)

尝试将此添加到web.xml

<context-param>
    <param-name>log4jRefreshInterval</param-name>
    <param-value>10000</param-value>
</context-param>