重生之 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 循环次数
相关推荐
喵手1 小时前
玩转Java网络编程:基于Socket的服务器和客户端开发!
java·服务器·网络
再见晴天*_*2 小时前
SpringBoot 中单独一个类中运行main方法报错:找不到或无法加载主类
java·开发语言·intellij idea
Hello_Embed3 小时前
STM32HAL 快速入门(二十):UART 中断改进 —— 环形缓冲区解决数据丢失
笔记·stm32·单片机·学习·嵌入式软件
咸甜适中4 小时前
rust语言 (1.88) 学习笔记:客户端和服务器端同在一个项目中
笔记·学习·rust
Magnetic_h5 小时前
【iOS】设计模式复习
笔记·学习·ios·设计模式·objective-c·cocoa
hdsoft_huge5 小时前
Java & Spring Boot常见异常全解析:原因、危害、处理与防范
java·开发语言·spring boot
研梦非凡5 小时前
ICCV 2025|从粗到细:用于高效3D高斯溅射的可学习离散小波变换
人工智能·深度学习·学习·3d
雨白6 小时前
Java 多线程指南:从基础用法到线程安全
android·java
Hungry_Shark6 小时前
IDEA版本控制管理之使用Gitee
java·gitee·intellij-idea
赛姐在努力.6 小时前
《IDEA 突然“三无”?三秒找回消失的绿色启动键、主菜单和项目树!》
java·intellij-idea