2017-02-14 4 views
2

Mein log4j2.xml ist wie folgt:Log4j2: RollingFile appender schreiben keine Protokolle in Datei

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="WARN"> 
    <Appenders> 
     <Async name="ASYNC"> 
      <AppenderRef ref="R"/> 
     </Async> 

     <RollingFile name="R" fileName="${sys:catalina.home}/logs/myServer.log" filePattern="${sys:catalina.home}/logs/myServer.log.%d{yyyy-MM-dd}"> 
      <PatternLayout pattern="%d %-5p [%t] %C{2} - %m%n"/> 
      <Policies> 
       <TimeBasedTriggeringPolicy/> 
      </Policies> 
     </RollingFile>  
    </Appenders> 

    <Loggers>   
     <Logger name="com.ps" level="WARN" additivity="false"> 
      <AppenderRef ref="ASYNC"/> 
     </Logger>  

     <Root level="WARN"> 
      <AppenderRef ref="ASYNC"/> 
     </Root> 
    </Loggers> 
</Configuration> 

Diese Konfiguration erzeugt nur myServer.log Datei und rollt nicht Datei auch nicht anmeldet schreiben.

Log-Datei wird mit Berechtigungen erstellt:

ls -ltr my* 
-rw-------. 1 root root  0 Feb 14 18:15 myServer.log 

Was mache ich falsch?

Antwort

0

Fügen Sie <AppenderRef ref="R"/> auch unter <Root level="WARN"> hinzu und versuchen Sie es erneut.

1

Sie sollten einen Verweis auf Ihre Rolling-Datei Appender hinzufügen, um Protokolle in Ihre Datei geschrieben zu bekommen.

<Root level="WARN"> 
    <AppenderRef ref="ASYNC"/> 
    <AppenderRef ref="R"/> 
</Root> 

Mehr Informationen über log4j2 Konfiguration gefunden werden kann here

Verwandte Themen