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>
相关推荐
MC丶科28 分钟前
Spring Boot + Vue 实现一个在线商城(商品展示、购物车、订单)!从零到一完整项目
前端·vue.js·spring boot
戴誉杰1 小时前
idea 2025.2 重置试用30天,无限期使用
java·ide·intellij-idea
q***78782 小时前
Spring学习——新建module模块
java·学习·spring
q***11652 小时前
在Nginx上配置并开启WebDAV服务的完整指南
java·运维·nginx
白起那么早2 小时前
我又开发了一款idea插件-ContiNewGenerator
java·后端
装不满的克莱因瓶2 小时前
【Java架构师体系课 | MySQL篇】③ Explain执行计划详解
java·数据库·mysql·架构·优化·索引·explain
王煜苏2 小时前
最新版idea2025 配置docker 打包spring-boot项目到生产服务器全流程,含期间遇到的坑
java·docker·容器
李玮豪Jimmy2 小时前
Day18:二叉树part8(669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树)
java·服务器·算法
后端小张3 小时前
【AI 学习】AI Agent 开发进阶:架构、规划、记忆与工具编排
java·人工智能·ai·架构·系统架构·agent·智能体
q***98523 小时前
Spring Boot 中使用 @Transactional 注解配置事务管理
数据库·spring boot·sql