Spring Boot 设置滚动日志logback

Spring Boot 的 logback 框架

Spring Boot 默认内置了 Logback 作为日志实现框架,只需要在resources文件夹下添加一个logback-spring.xml,springboot会按照你的设置自动开启logback日志功能。

配置 logback-spring.xml 实现每天产生一个日志文件,最多记录60天日志,滚动记录,过期删除:

xml 复制代码
<?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>
相关推荐
iam_leeqing2 分钟前
Java线程
java·开发语言
Maybyy16 分钟前
力扣454.四数相加Ⅱ
java·算法·leetcode
Java中文社群19 分钟前
面试官:谈谈你AI项目的具体实现?
java·后端·面试
java_强哥41 分钟前
Spring Boot启动原理:从main方法到内嵌Tomcat的全过程
spring boot·后端·tomcat
哪里不会点哪里.1 小时前
适配器模式:兼容不兼容接口
java·开发语言
李剑一1 小时前
上传三个参数,两个接收正常,一个死活都是null?
spring boot·后端
何中应1 小时前
Maven项目没有Maven工具,IDEA没有识别到该项目是Maven项目怎么办?
java·后端·maven·intellij-idea
neoooo1 小时前
Redis锁得住,世界就是你的:一探Redis分布式锁的原理、姿势与深度思考
java·redis·后端
恸流失1 小时前
java基础-1 : 运算符
java·开发语言·数据结构
柳如烟@1 小时前
零基础入门Java虚拟机与单例模式:新手友好教程
java·开发语言·单例模式