You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Logback中配置appender实现每5分钟滚动切分日志

你当前配置默认按1分钟滚动的原因是:fileNamePattern中定义的最小时间单位是分钟(%d配置里的mm),logback默认会匹配该最小单位的时间间隔触发滚动。要调整为每5分钟滚动,只需在timeBasedFileNamingAndTriggeringPolicy节点下新增multiple参数指定时间间隔倍数即可。

修改后的完整配置如下:

<appender name="FILE-AUDIT" class="ch.qos.logback.core.rolling.RollingFileAppender">
  <file>myfile.log</file>
  <encoder>
    <pattern>${MY_PATTERN_HERE}</pattern>
  </encoder>

  <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>myfile.log.%d{dd-MM-yyyy_HH-mm}.%i.gz</fileNamePattern>
    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
      <maxFileSize>300MB</maxFileSize>
      <!-- 时间间隔为基础粒度(1分钟)的5倍,即每5分钟触发一次时间滚动 -->
      <multiple>5</multiple>
    </timeBasedFileNamingAndTriggeringPolicy>
    <maxHistory>1000</maxHistory>
  </rollingPolicy>
</appender>

补充说明:

  • multiple参数的值是基于fileNamePattern最小时间单位的倍数,你当前配置的最小时间单位是1分钟,设为5就对应每5分钟滚动一次;如果后续你要调整为每小时滚动,把fileNamePattern的最小粒度改成小时(删除-mm),multiple设为1即可
  • 滚动触发逻辑保持你原来的设计:到达5分钟时间间隔或者单个文件大小达到300MB都会触发切分
  • multiple参数在logback 1.1.7及以上版本原生支持,无需额外修改其他依赖

内容的提问来源于stack exchange,提问作者Murad Zulfugarov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:39:01