重生之 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 循环次数
相关推荐
骄马之死5 小时前
SpringMVC + SpringBoot 核心知识点总结
java·spring boot·后端
xqqxqxxq6 小时前
哈希表(HashMap)技术学习笔记
笔记·学习·散列表
生而为虫6 小时前
[学习记录] 幼儿学习拼音html游戏
学习·游戏
AOwhisky6 小时前
MySQL 学习笔记(第四期):SQL 语言之多表查询
linux·运维·网络·数据库·笔记·学习·mysql
郑洁文7 小时前
基于Spring Boot的流浪动物救助网站
java·spring boot·后端·毕设·流浪动物救助
xian_wwq7 小时前
【学习笔记】「大模型安全:攻击面演化史」第 07 篇-安全左移
人工智能·笔记·学习
秋雨梧桐叶落莳7 小时前
iOS——NSUserDefaults学习
学习·macos·ios·objective-c·cocoa
螺丝钉code8 小时前
JAVA项目 Claude code CLAUDE.md 到底应该怎么写
java·人工智能·claude code
易小染8 小时前
AI-Agent学习-LangChain-01
学习·langchain
指令集梦境8 小时前
Cursor + Spring Boot实战:从零写一个RESTful API
spring boot·后端·restful