2017-08-01 4 views
0

Vous trouverez ci-dessous le code permettant de travailler avec log4j et d'insérer des instructions de journal dans mon application.impossible de modifier le niveau de journalisation côté serveur

web.xml Modifié le fichier web.xml et inclus les lignes ci-dessous.

<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: Il est dans le dossier 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> 

Je souhaite modifier le niveau de journal de débogage à info/erreur à côté serveur et sans redémarrer le serveur, il doit appliquer le niveau de journalisation, mais il ne prend pas le niveau de journalisation modifié. Aucune suggestion? Comment puis-je modifier le niveau de journalisation du côté serveur et la modification doit prendre effet dès que je modifie le fichier. Le serveur est tomcat et log4j1.2.17.jar est le fichier jar que j'utilise.

Répondre

0

Essayez ajouter à web.xml:

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

n'a pas besoin de redémarrer le serveur? – Steephen

+0

oui je ne veux pas démarrer le serveur après avoir changé le niveau de log du côté serveur .. – user8190500

+0

@jingx - +1, ne prend-il pas charge sur le serveur? – user8190500