【问题标题】:Spring Boot -> using logback-spring.xml, rollover is not workingSpring Boot -> 使用 logback-spring.xml,翻转不起作用
【发布时间】:2016-09-30 11:48:06
【问题描述】:

我使用的是 Spring Boot 1.3.2,我有 logback-spring.xml 如下 -

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

我的 pom.xml 有 -

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

我的 application.properties 文件是 -

logging.file=xyz.log

但日志文件在达到 10 MB 时不会回滚。也尝试使用下面,仍然日志文件没有回滚。

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

感谢任何帮助/建议!!!

【问题讨论】:

    标签: spring spring-boot logback


    【解决方案1】:

    Spring-boot 自动在 10MB 点滚动日志文件。
    只要您配置了日志文件属性,您就无需执行任何其他操作。
    logback 依赖项包含在 starter pom 中,您也不应该同时使用 log4j 和 logback。
    删除日志记录 xml 配置,从您的 pom 中删除所有日志记录依赖项,它将正常工作。
    为了完整起见,如果您想使用 10MB 以外的大小,则需要添加 logback 配置。
    最简单的方法是复制现有的基本配置并实现您自己的文件附加规则。

    示例 logback-spring.xml,使用 20MB 滚动大小:
    如果您只需要默认的 10MB,则无需使用此选项。

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

    【讨论】:

      猜你喜欢
      • 2019-01-19
      • 2017-09-07
      • 2017-05-08
      • 2018-11-07
      • 2019-05-31
      • 1970-01-01
      • 1970-01-01
      • 2021-10-16
      • 1970-01-01
      相关资源
      最近更新 更多