2016-09-30 6 views
1

ich mit Spring-Boot 1.3.2, und ich habe logback-spring.xml wie unten -Frühling Boot -> mit logback-spring.xml, Roll funktioniert nicht

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <include resource="org/springframework/boot/logging/logback/defaults.xml" /> 
    <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/> 
    <include resource="org/springframework/boot/logging/logback/file-appender.xml" /> 
<root level="INFO"> 
    <appender-ref ref="FILE" /> 
    </root> 
</configuration> 

Meine pom.xml hat -

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter</artifactId> 
</dependency> 
    <dependency> 
     <groupId>ch.qos.logback</groupId> 
     <artifactId>logback-classic</artifactId> 
     <version>1.1.3</version> 
    </dependency> 
    <dependency> 
     <groupId>ch.qos.logback</groupId> 
     <artifactId>logback-core</artifactId> 
     <version>1.1.3</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>log4j-over-slf4j</artifactId> 
    </dependency> 

Meine application.properties Datei ist wie -

logging.file=xyz.log 

Aber die Protokolldateien rollen nicht zurück, wenn es 10 MB erreicht. Versucht mit unten auch, noch Protokolldateien werden nicht zurückrollen.

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <include resource="org/springframework/boot/logging/logback/defaults.xml" /> 
    <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/> 
    <include resource="org/springframework/boot/logging/logback/file-appender.xml" /> 
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <file>/log/xyz.log</file>  
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
     <fileNamePattern>/log/xyz%i.log</fileNamePattern> 
     <minIndex>1</minIndex> 
     <maxIndex>10</maxIndex>  
    </rollingPolicy> 
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 
     <maxFileSize>10MB</maxFileSize> 
    </triggeringPolicy> 
    <encoder> 

     <pattern>%relative [%thread] %-5level %logger{35} - %msg%n</pattern> 
    </encoder> 
    </appender> 
    <root level="INFO"> 
    <appender-ref ref="FILE" /> 
    </root> 
</configuration> 

Jede Hilfe/Vorschlag wird geschätzt !!!

Antwort

0

Mit Spring-Boot werden Protokolldateien automatisch mit 10 MB gespeichert.
Solange Sie die Protokolldateieigenschaft konfiguriert haben, müssen Sie nichts anderes tun.
Die Logback-Abhängigkeiten sind im Starter-Pom enthalten, außerdem sollten Sie log4j und Logback nicht gleichzeitig verwenden.
Entfernen Sie die Logging-XML-Config, entfernen Sie alle Logging-Abhängigkeiten von Ihrem Pom und es wird einfach funktionieren.
Der Vollständigkeit halber sollten Sie, wenn Sie eine andere Größe als 10 MB verwenden wollten, eine Logback-Konfiguration hinzufügen.
Die einfachste Möglichkeit besteht darin, die vorhandene Basiskonfiguration zu kopieren und eigene Datei-Appender-Regeln zu implementieren.

Beispiel logback-spring.xml, unter Verwendung einer 20MB Roll Größe:
Sie brauchen nicht, diese zu verwenden, wenn Sie nur den Standard-10MB wollen.

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <!-- Import default spring logback configuration --> 
    <include resource="org/springframework/boot/logging/logback/defaults.xml" /> 
    <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/> 
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" /> 

    <!-- Define your file-appender --> 
    <appender name="FILE" 
       class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <encoder> 
      <pattern>${FILE_LOG_PATTERN}</pattern> 
     </encoder> 
     <file>${LOG_FILE}</file> 
     <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
      <fileNamePattern>${LOG_FILE}.%i</fileNamePattern> 
     </rollingPolicy> 
     <triggeringPolicy 
       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 
      <MaxFileSize>20MB</MaxFileSize> 
     </triggeringPolicy> 
    </appender> 

    <root level="INFO"> 
     <appender-ref ref="CONSOLE" /> 
     <appender-ref ref="FILE" /> 
    </root> 
</configuration> 
Verwandte Themen