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>
相关推荐
惊讶的猫1 天前
探究StringBuilder和StringBuffer的线程安全问题
java·开发语言
jmxwzy1 天前
Spring全家桶
java·spring·rpc
Halo_tjn1 天前
基于封装的专项 知识点
java·前端·python·算法
Fleshy数模1 天前
从数据获取到突破限制:Python爬虫进阶实战全攻略
java·开发语言
像少年啦飞驰点、1 天前
零基础入门 Spring Boot:从“Hello World”到可上线的 Web 应用全闭环指南
java·spring boot·web开发·编程入门·后端开发
苍煜1 天前
万字详解Maven打包策略:从基础插件到多模块实战
java·maven
有来技术1 天前
Spring Boot 4 + Vue3 企业级多租户 SaaS:从共享 Schema 架构到商业化套餐设计
java·vue.js·spring boot·后端
东东5161 天前
xxx医患档案管理系统
java·spring boot·vue·毕业设计·智慧城市
东东5161 天前
学院个人信息管理系统 (springboot+vue)
vue.js·spring boot·后端·个人开发·毕设
一个响当当的名号1 天前
lectrue9 索引并发控制
java·开发语言·数据库