Logback 系列(7):常用 Appender(控制台 / 文件 / 滚动文件)
2026/7/19 3:13:12 网站建设 项目流程

本系列第 7 篇。Appender 决定日志输出到哪,这篇覆盖最常用的三类。

ConsoleAppender(控制台)

开发环境看日志用,输出到 stdout。

<appendername="STDOUT"class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n</pattern></encoder></appender>

RollingFileAppender(滚动文件)

生产必备。一定要用 Rolling(滚动),否则单文件会无限增长直到撑爆磁盘。

滚动策略:SizeAndTimeBasedRollingPolicy(按时间 + 大小)

既按天切、又按大小切,是最常用的组合:

<appendername="FILE"class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicyclass="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><FileNamePattern>${LOG_HOME}/integration.log.%d{yyyy-MM-dd}.%i.log</FileNamePattern><MaxHistory>30</MaxHistory><!-- 保留 30 天 --><MaxFileSize>50MB</MaxFileSize><!-- 单文件超 50MB 就切 --><totalSizeCap>30GB</totalSizeCap><!-- 所有日志总量上限 30GB --></rollingPolicy><encoderclass="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder></appender>

文件名占位符:

  • %d{yyyy-MM-dd}:按天。
  • %i:同一天内的第几个文件(配合MaxFileSize)。

三个防爆盘参数一定要配

  • MaxHistory:保留多少天/多少个历史文件。
  • MaxFileSize:单个文件多大就切。
  • totalSizeCap:所有日志文件的总量上限,超了自动删最旧的。

三者配齐,日志才不会把磁盘写满。


上一篇:Pattern 布局语法
下一篇:实战:逐行拆解一份生产配置

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询