Spring Boot 设置滚动日志logback
Spring Boot 的 logback 框架
Spring Boot 默认内置了 Logback 作为日志实现框架,只需要在resources文件夹下添加一个logback-spring.xml,springboot会按照你的设置自动开启logback日志功能。
配置 logback-spring.xml 实现每天产生一个日志文件,最多记录60天日志,滚动记录,过期删除:
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds"><!-- 定义日志文件存储路径(可根据实际情况修改) --><property name="LOG_PATH" value="logs" /><property name="LOG_FILE_NAME" value="application" /><!-- 控制台输出 --><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><!-- 文件输出:每天一个文件,保留60天 --><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 日志写入文件路径 【当前活跃的日志文件】--><file>${LOG_PATH}/${LOG_FILE_NAME}.log</file><!-- 滚动策略:基于时间 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 文件命名格式:application-2025-07-07.log 【历史日志文件】--><fileNamePattern>${LOG_PATH}/${LOG_FILE_NAME}-%d{yyyy-MM-dd}.log</fileNamePattern><!-- 保留60天 --><maxHistory>60</maxHistory><!-- 限制总文件大小(可选) --><!-- <totalSizeCap>1GB</totalSizeCap> --></rollingPolicy><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><!-- 指定日志级别和输出位置:符合条件的日志内容被同时发送到控制台和文件中 --><root level="INFO"><appender-ref ref="CONSOLE" /><appender-ref ref="FILE" /></root>
</configuration>