重生之 SpringBoot3 入门保姆级学习(11、日志的进阶使用)

重生之 SpringBoot3 入门保姆级学习(11、日志的进阶使用)

      • [3.2.4 文件输出](#3.2.4 文件输出)
      • [3.2.5 日志文档的归档与切割](#3.2.5 日志文档的归档与切割)

3.2.4 文件输出


  • 配置 application.properties
yml 复制代码
# 日志文件名  如果不写路径默认就是在项目根路径建立 demo.log 文件 推荐写法 D:\\demo.log  路径 + 文件名
logging.file.name=demo.log
# 日志文件路径 一般不用 他只会在指定路径生成 spring.log 的文件 logging.file.name 设置文件名无效
#logging.file.path=D:\\
  • 重新运行项目 并在浏览器发送请求 多刷新几遍

3.2.5 日志文档的归档与切割


归档:每天的日志文件单独存放在一个文件中。

切割:每个文件限定 10 MB 超过大小切割成另外一个文件。

  • 日志配置表
配置项 默认值 描述
logging.logback.rollingpolicy.file-name-pattern ${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz 日志文档的文件名格式
logging.logback.rollingpolicy.clean-history-on-start false 应用启动时是否清除以前的文档
logging.logback.rollingpolicy.max-file-size 10MB 存档前每个日志文件的最大大小
logging.logback.rollingpolicy.total-size-cap 0B 日志文件被删除之前,可以容纳最大大小。设置1GB则磁盘存储超过1GB日志后就会删除旧日志文件
logging.logback.rollingpolicy.max-history 7 日志文件的最大保存天数

注意:如果是其他日志系统,需要自行配置。(添加 log4j2.xml 或 log4j2-spring.xml 文件名固定,否则无法识别配置)

  • 添加 application.properties 配置
yml 复制代码
# 日志文档的文件名格式
logging.logback.rollingpolicy.file-name-pattern=${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz
# 存档前每个日志文件的最大大小
logging.logback.rollingpolicy.max-file-size=1MB



# 应用启动时是否清除以前的文档
#logging.logback.rollingpolicy.clean-history-on-start=
# 日志文件被删除之前,可以容纳最大大小。设置1GB则磁盘存储超过1GB日志后就会删除旧日志文件
#logging.logback.rollingpolicy.total-size-cap=
# 日志文件的最大保存天数
#logging.logback.rollingpolicy.max-history=
  • 修改 HelloController 使其日志输出快速到 1MB
java 复制代码
package com.zhong.logging.controller;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @ClassName : HelloController
 * @Description :
 * @Author : zhx
 * @Date: 2024-05-30 12:31
 */
@Slf4j
@RestController
public class HelloController {

    @GetMapping("/h")
    public String Hello(String a, String b) {
        for (int i = 0; i < 1000; i++) {
            log.info("哈哈哈,方法进来了1。参数: {} {}", a, b);
            log.info("哈哈哈,方法进来了2。参数: {} {}", a, b);
            log.info("哈哈哈,方法进来了3。参数: {} {}", a, b);
            log.info("哈哈哈,方法进来了4。参数: {} {}", a, b);
        }
        return "hello";
    }
}
  • 运行后刷新浏览器 50 次左右,想少刷新可以调 for 循环次数
相关推荐
straw_hat.6 分钟前
32HAL——RTC时钟
stm32·学习
小猪咪piggy24 分钟前
【项目】小型支付商城 MVC/DDD
java·jvm·数据库
知兀28 分钟前
【Spring/SpringBoot】SSM(Spring+Spring MVC+Mybatis)方案、各部分职责、与Springboot关系
java·spring boot·spring
向葭奔赴♡30 分钟前
Spring IOC/DI 与 MVC 从入门到实战
java·开发语言
早退的程序员30 分钟前
记一次 Maven 3.8.3 无法下载 HTTP 仓库依赖的排查历程
java·http·maven
向阳而生,一路生花33 分钟前
redis离线安装
java·数据库·redis
Tigshop开源商城系统34 分钟前
Tigshop 开源商城系统 php v5.1.9.1版本正式发布
java·大数据·开源·php·开源软件
2401_841495641 小时前
【数据结构】基于BF算法的树种病毒检测
java·数据结构·c++·python·算法·字符串·模式匹配
little_xianzhong1 小时前
三个常听到的消息/中间件MQTT RabbitMQ Kafka
java·笔记·中间件·消息队列
论迹1 小时前
【Spring Cloud 微服务】-- 服务拆分原则
java·spring cloud·微服务