重生之 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 循环次数
相关推荐
像我这样帅的人丶你还16 小时前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩16 小时前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构
tntxia16 小时前
Mybatis的日志输入
java
亦暖筑序18 小时前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式
用户2986985301421 小时前
Java 实现 Word 文档加密与权限解除
java·后端
Yeats_Liao1 天前
14:Servlet中的页面跳转-Java Web
java·后端·架构
未秃头的程序猿1 天前
告别"if-else地狱"!Java 21模式匹配,代码优雅了10倍
java·后端·面试
鹤望兰6751 天前
字节跳动国际支付-后端开发-三面面经
java
Flittly1 天前
【AgentScope Java新手村系列】(14)人机交互
java·spring boot·spring
RainCity1 天前
Java Swing 自定义组件库分享(十二)
java·笔记·后端