Spring Boot 日志按天写入配置指南

要将 Spring Boot 的输出信息按天写入日志文件,你可以使用 Logback 作为日志框架,结合 TimeBasedRollingPolicy 来实现按天滚动日志文件。

配置步骤

1. 引入 Logback 依赖

Spring Boot 默认已经包含了 Logback 的依赖,所以通常不需要额外引入。如果你使用了其他日志框架,可以在 pom.xml 中引入 Logback 依赖:

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
</dependency>

2. 配置 logback-spring.xml

在 Spring Boot 项目的 resources 目录下创建或修改 logback-spring.xml 文件,添加按天滚动的配置:

<configuration>
    <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>

    <!-- 文件输出,按天生成 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 注意这里移除了 <file> 元素 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志文件按天滚动 -->
            <fileNamePattern>${LOG_PATH}/${LOG_FILE_NAME}-%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- 保留30天的日志文件 -->
            <maxHistory>30</maxHistory>
        </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>

3. 配置解释

  • <file>:指定日志文件的路径和名称,例如 logs/app.log
  • <rollingPolicy>:配置日志滚动策略,这里使用 TimeBasedRollingPolicy,按日期生成日志文件。
  • <fileNamePattern>:指定滚动后的日志文件命名模式,如 logs/app.%d{yyyy-MM-dd}.log,将按日期生成不同的日志文件。
  • <maxHistory>:指定保留历史日志文件的天数,超过这个天数的日志文件将被删除。

4. 启动项目

配置好之后,启动 Spring Boot 项目,日志将按天生成不同的日志文件。例如,2024-08-26 日的日志文件将命名为 app.2024-08-26.log

这套配置可以帮助你将 Spring Boot 的日志按天保存到不同的文件中,并且根据需要设置保留历史日志的时间长度。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天天进步2015

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值