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>