2017-08-01 13 views
0

以下は、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ファイルです。

答えて

0

web.xmlにこれを追加してみてください。

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

は、サーバーを再起動する必要はありませんか? – Steephen

+0

はいサーバー側でログレベルを変更した後にサーバーを起動したくない。 – user8190500

+0

@jingx - +1、サーバーに負荷がかかりませんか? – user8190500

関連する問題