2017-08-01 1 views
0

Unten finden Sie den Code zum Arbeiten mit log4j und Einfügen von Protokollanweisungen in meine Anwendung.Protokollebene auf der Serverseite kann nicht geändert werden

web.xml Die web.xml wurde geändert und die folgenden Zeilen eingefügt.

<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: Es ist in WEB-INF-Ordner

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

Ich möchte von debug info/Fehler auf Server-Seite die Protokollebene ändern und ohne Neustart des Servers es anwenden muss die Protokollierungsstufe, aber nicht die geänderte Protokollierungsstufe. Irgendwelche Vorschläge? Wie kann ich die Protokollierungsstufe auf der Serverseite ändern und die Änderung sollte sich auswirken, sobald ich die Datei ändere. Server ist tomcat und log4j1.2.17.jar ist die JAR-Datei, die ich verwende.

Antwort

0

Versuchen Sie fügen Sie diese web.xml:

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

Braucht nicht Server neu zu starten? – Steephen

+0

Ja, ich möchte den Server nicht starten, nachdem ich den Loglevel auf der Serverseite geändert habe. – user8190500

+0

@jingx - +1, dauert es nicht auf dem Server? – user8190500

Verwandte Themen