Spring Boot 日志级别、持久化与 SLF4J 配置详细攻略

 更新时间:2025年11月29日 14:02:48   作者:♡喜欢做梦  
本文简要介绍了Spring Boot项目中的日志系统,包括日志的定义、作用、使用方法、级别分类、配置以及日志持久化的重要性,通过示例和代码,解释了如何使用日志进行问题排查、行为审计、状态监控,并展示了如何配置日志级别和持久化路径,感兴趣的朋友跟随小编一起看看吧

🍉日志的定义

日志本质上是系统、软件或设备按时间顺序记录操作、事件或状态的文件文本,用于最终历史、排查问题和审计。

Spring Boot项目在启动时就有默认的日志输出:

核心作用

  • 问题排查:当软件崩溃、系统出错、时,日志会记录错误代码、发生时间和上下文,帮助技术人员定位原因。
  • 行为审计:记录用户的关键操作,比如谁登录了系统、谁修改了文件,用于追溯责任或合规检查。
  • 状态监控:实是记录系统资源使用情况,如CPU占用率、内存使用量、帮助发现性能瓶颈。

🍉日志的使用

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LoggerController {
    private final static Logger logger= LoggerFactory.getLogger(LoggerController.class);
}

🍉日志的级别分类

日志的级别从高到低依次为:FATAL、ERROR、WARN、INFO、DEBUG、TRACE

  • FATAL:致命信息,表示需要立即被处理的系统级错误。
  • ERROR:错误信息,级别较高的错误日志信息,但不影响系统的继续运行。
  • WARN:警告信息,不影响使用,但需要注意。
  • INFO:普通信息,用于记录应用程序正常运行时的一些信息。
  • DRBUG:调试信息,需要调试时候的关键信息打印。
  • TRACE:追踪信息,比DEBUG更细粒的信息事件

🍑日志级别的使用

Spring Boot默认的日志框架是Logback,Logback没有FATAL级别,他被映射到ERROR。

@RestController
@RequestMapping("/logger")
public class LoggerController {
    private final static Logger logger= LoggerFactory.getLogger(LoggerController.class);
    @RequestMapping("/printlog")
    public String logger(){
        logger.error("error....");
        logger.warn("warn....");
        logger.info("info...");
        logger.debug("debug...");
        logger.trace("trace...");
        return "打印日志级别";
    }
}

打印结果:

这里的打印结果,只打印了error,warn,info是因为,这与日志级别的配置有关,日志的输出级别默认是info,所以只会打印大于等于info的级别,也就是info,warn,error。

🍑日志级别的配置

yml配置

logging:
  level:
    root: debug

properties

logging.level.root=debug

🍉日志持久化

🍑什么是日志持久化?

日志持久化是指将程序运行过程中产生的日志数据,从内存写入到磁盘等持久化存储介质的过程,核心目的是防止日志因系统崩溃、断电等意外丢失。

🍑日志持久化的配置

yml

logging:
  file:
    name: logger/l og.log

properities

logging.file.name=logger/log.log
  • 后面可可以跟绝对路径也可以是相对路径;

运行结果如下,日志保存在了对应的目录内容

🍉配置日志文件的文件

yml

  logback:
    rollingpolicy:
      max-file-size: 1KB
      file-name-pattern: ${LOG_FILE}.%d{yyyy-MM-dd}.%i

properities

logging.logback.rollingpolicy.file-name-pattern=${LOG_FILE}.%d{yyyy-MM-dd}.%i
logging.logback.rollingpolicy.max-file-size=1KB

🍉更简单的日志输出

🍑添加依赖

<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>

🍑@Slf4j

使用

@Slf4j
public class LoggerController2 {
    public String logger(){
        log.info("info....");
        return "打印日志";
    }
}

我们使用@Slf4j就不用写那一长句就可以直接调用日志,但是要使用 log调用。

到此这篇关于Spring Boot 日志级别、持久化与 SLF4J 配置详细攻略的文章就介绍到这了,更多相关springboot 日志持久化与slf4j配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java依赖混乱存在的问题与解决方案

    java依赖混乱存在的问题与解决方案

    这篇文章主要为大家介绍了java依赖混乱存在的问题与解决方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • SpringBoot配置Apollo代码实例

    SpringBoot配置Apollo代码实例

    这篇文章主要介绍了SpringBoot配置Apollo代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Spring bean生命周期配置过程解析

    Spring bean生命周期配置过程解析

    这篇文章主要介绍了Spring bean生命周期配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Java ArrayList 数组之间相互转换

    Java ArrayList 数组之间相互转换

    本文通过代码示例给大家讲解arraylist转化为数组,然后数组转化为arraylist的相关资料,感兴趣的朋友一起看看吧
    2015-11-11
  • Java中的2种集合排序方法介绍

    Java中的2种集合排序方法介绍

    这篇文章主要介绍了Java中的2种集合排序方法介绍,本文直接给出代码,相关说明请看代码中的注释,需要的朋友可以参考下
    2014-10-10
  • java题解LeetCode20.有效的括号

    java题解LeetCode20.有效的括号

    这篇文章主要为大家介绍了java题解LeetCode20.有效的括号示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Spring Cloud Sleuth 和 Zipkin 进行分布式跟踪使用小结

    Spring Cloud Sleuth 和 Zipkin 进行分布式跟踪使用小结

    分布式跟踪是一种机制,我们可以使用它跟踪整个分布式系统中的特定请求,分布式跟踪允许您跟踪分布式系统中的请求,本文给大家介绍Spring Cloud Sleuth 和 Zipkin 进行分布式跟踪使用小结,感兴趣的朋友一起看看吧
    2022-03-03
  • Java踩坑记录之Arrays.AsList

    Java踩坑记录之Arrays.AsList

    这篇文章主要给大家介绍了关于Java踩坑记录之Arrays.AsList的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Java ServletContext对象原理及功能解析

    Java ServletContext对象原理及功能解析

    这篇文章主要介绍了Java ServletContext对象原理及功能解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Java StringBuilder类原理及常用方法

    Java StringBuilder类原理及常用方法

    这篇文章主要介绍了Java StringBuilder类原理及常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12

最新评论