Bootstrap

Spring Boot日志文件

目录

前言🍭

一、日志的作用🍭

1、日志真实使用案例:🍉

二、日志怎么用🍭

1、自定义日志打印🍉

Ⅰ、在程序中得到日志对象🍓

 常见的日志框架说明(了解)🍒

Ⅱ、使用日志对象打印日志 🍓

2、日志的级别🍉

Ⅰ、日志级别有什么用?🍓

Ⅱ、日志级别的分类与使用🍓

Ⅲ、日志级别设置🍓

Ⅳ、System.out.println() VS 日志🍓

3、日志持久化🍉

Ⅰ、配置日志文件的保存路径:🍓

路径:🍒

路径+文件名: 🍒

文件名: 🍒

Ⅱ、进行日志持久化 🍓

Ⅲ、日志是追加or覆盖?🍓

三、更简单的日志输出—lombok🍭

1、添加 lombok 依赖🍉

Ⅰ、旧项目添加新依赖框架 🍓

2、输出日志🍉

3、lombok原理解释🍉

4、lombok 更多注解说明🍉


前言🍭

❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️

Spring + Spring MVC + MyBatis_冷兮雪的博客-CSDN博客

前篇我们 讲完了SpringBoot的配置文件,讲解了为什么学配置文件&配置文件的作用,还有两种配置文件的格式与使用。这篇来讲SpringBoot 日志文件,下面我们一起进入SpringBoot 日志文件的世界!

一、日志的作用🍭

日志是程序的重要组成部分,想象一下,如果程序报错了,不让你打开控制台看日志,那么你能找到报错的原因吗?

答案是否定的,写程序不是买彩票,不能完全靠猜,因此日志对于我们来说,最主要的用途就是排除和定位问题。

Spring Boot日志文件用于记录应用程序的运行日志。它可以帮助开发人员在应用程序出现问题时进行故障排除和调试。以下是Spring Boot日志文件的几个用途:

  1. 故障排除:当应用程序发生错误或异常时,日志文件可以提供有关错误发生的上下文信息,如错误堆栈跟踪、错误消息等。开发人员可以根据这些信息来定位和修复问题。
  2. 调试:日志文件可以记录应用程序的运行过程中的详细信息,如请求参数、方法调用、返回结果等。这些信息可以帮助开发人员理解应用程序的运行流程,定位潜在的问题,并进行性能优化。
  3. 监控和性能分析:通过分析日志文件,开发人员可以获取应用程序的运行状态和性能指标,如请求响应时间、吞吐量、并发请求数等。这些信息可以帮助开发人员监控应用程序的健康状况,并进行性能分析和优化。
  4. 安全审计:日志文件可以记录应用程序的操作日志,如用户登录、数据修改等。这些信息可以用于安全审计和追踪用户行为。

所以 Spring Boot日志文件是开发人员在应用程序运行过程中进行故障排除、调试、性能分析和安全审计的重要工具。

1、日志真实使用案例:🍉

比如当我们去百度注册账号时,在注册时候百度不止要在后台添加 一条用户记录,同时也会给百度贴吧添加一条一模一样的用户记录,这样做的目的是为了实现一次注 册,多处使用的目的。不需要用户在两边系统注册了,等于在程序中以极低的成本实现的用户数据的同 步,但这样设计有一个致命的问题,用户在百度注册信息的时候,如果百度贴吧挂了,那么用户的注册 行为就会失败,因为用户在注册的时候需要同步注册到百度系统,但贴吧现在挂了,这个时候怎么办 呢?

最简单的解决方案,百度账号在注册的时候,不管贴吧是否注册成功,都给用户返回成功,如果注册失败了,记录一下日志,等贴吧恢复正常之后,把日志给贴吧的管理人员,让他手动将注册失败的用户同步到贴吧系统,这样就最低成本的解决了问题。这就是日志的重要作用。

二、日志怎么用🍭

Spring Boot 项目在启动的时候默认就有日志输出,如下图所示:

以上内容就是 Spring Boot 输出的控制台日志信息。 通过上述日志信息我们能发现以下 3 个问题:

  1. Spring Boot 内置了日志框架(不然也输出不了日志)。
  2. 默认情况下,输出的日志并是开发者定义和打印的,那开发者怎么在程序中自定义打印日志呢?
  3. 日志默认是打印在控制台上的,而控制台的日志是不能被保存的,那么怎么把日志永久的保存下来呢?

下面我们一起来找寻这些问题的答案。

1、自定义日志打印🍉

开发者自定义打印日志的实现步骤:
  • 在程序中得到日志对象。
  • 使用日志对象的相关语法输出要打印的内容

Ⅰ、在程序中得到日志对象🍓

在程序中获取日志对象需要使用日志工厂 LoggerFactory:

// 1.得到⽇志对象
private static Logger logger = LoggerFactory.getLogger(UserController.class);
//⽇志⼯⼚需要将每个类的类型传递进去,这样我们才知道⽇志的归属类,才能更⽅便、更直观的定位 到问题类。

Logger 对象是属于 org.slf4j 包下的,不要导入错包。

 常见的日志框架说明(了解)🍒

;