重生之 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 循环次数
相关推荐
zquwei10 分钟前
SpringCloudGateway+Nacos注册与转发Netty+WebSocket
java·网络·分布式·后端·websocket·网络协议·spring
爱吃西瓜的小菜鸡11 分钟前
【C语言】判断回文
c语言·学习·算法
TT哇17 分钟前
*【每日一题 提高题】[蓝桥杯 2022 国 A] 选素数
java·算法·蓝桥杯
小A15933 分钟前
STM32完全学习——SPI接口的FLASH(DMA模式)
stm32·嵌入式硬件·学习
火烧屁屁啦39 分钟前
【JavaEE进阶】初始Spring Web MVC
java·spring·java-ee
w_31234541 小时前
自定义一个maven骨架 | 最佳实践
java·maven·intellij-idea
岁岁岁平安1 小时前
spring学习(spring-DI(字符串或对象引用注入、集合注入)(XML配置))
java·学习·spring·依赖注入·集合注入·基本数据类型注入·引用数据类型注入
武昌库里写JAVA1 小时前
Java成长之路(一)--SpringBoot基础学习--SpringBoot代码测试
java·开发语言·spring boot·学习·课程设计
qq_589568101 小时前
数据可视化echarts学习笔记
学习·信息可视化·echarts
Q_19284999061 小时前
基于Spring Boot的九州美食城商户一体化系统
java·spring boot·后端