【问题标题】:spring-boot logback file rotation, cannot get it to rotate log filespring-boot logback 文件轮换,无法让它轮换日志文件
【发布时间】:2015-12-19 14:46:38
【问题描述】:

这是我的 spring-boot 应用程序类路径根目录中的 logback.xml。

当启动我的应用程序时,这个文件永远不会旋转,日志文件会增长并增长到无穷大。 (远超过 100kb,零旋转,或控制台日志中的任何错误信息)。目录是可写的。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

<include resource="org/springframework/boot/logging/logback/base.xml"/>

<logger name="com.mystuff" level="DEBUG"/>

<appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <encoder>
        <pattern>${FILE_LOG_PATTERN}</pattern>
    </encoder>
    <file>/tmp/mylog.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
        <fileNamePattern>/tmp/mylog.log.%d{yyyy-MM-dd_HH_mm_ss}.%i</fileNamePattern>
    </rollingPolicy>
    <triggeringPolicy
        class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <MaxFileSize>100KB</MaxFileSize>
    </triggeringPolicy>
</appender>


<root level="DEBUG">
    <appender-ref ref="CONSOLE" />
    <appender-ref ref="FILE" />
</root>

</configuration>

【问题讨论】:

    标签: java spring logging spring-boot logback


    【解决方案1】:

    包含的 base.xml 文件有问题。 Appender ch.qos.logback.core.rolling.RollingFileAppender 已在此文件中定义。它已将 triggeringPolicy 设置为 10MB。

    【讨论】:

    • 即使我定义了自己的文件(base.xml的完整副本)并且不再包含它,并将其更改为10kb,它也不起作用。
    • 您不能在 FixedWindowRollingPolicy 中使用 {yyyy-MM-dd_HH_mm_ss} 模式。试试&lt;fileNamePattern&gt;/tmp/mylog.%i.log&lt;/fileNamePattern&gt;Here 是如何在日志文件名称中使用日期模式的示例。
    【解决方案2】:

    很遗憾,“ch.qos.logback.core.rolling.FixedWindowRollingPolicy”不处理“%d{yyyy-MM-dd_HH_mm_ss}”模式。您必须只使用“%i”模式。 “mylog.log.%i”会很好用。但是,如果您想在文件名中包含时间戳,请使用以下内容:

    <timestamp key="ts" datePattern="yyyyMMdd'T'HHmmss"/>
    

    ...

    <fileNamePattern>mylog.log-${ts}.%i</fileNamePattern>  
    

    【讨论】:

      猜你喜欢
      • 2017-07-13
      • 2015-01-16
      • 1970-01-01
      • 2020-07-17
      • 1970-01-01
      • 1970-01-01
      • 2014-06-14
      • 2012-10-19
      • 2011-04-11
      相关资源
      最近更新 更多