SpringBoot日志文件

一、日志的作用

除了发现和定位问题之外,我们还可以通过日志实现以下功能:

  • 记录用户登录日志,方便分析用户是正常登录还是恶意破解用户
  • 记录系统的操作日志,方便数据恢复和定位操作⼈。
  • 记录程序的执行时间,方便为以后优化程序提供数据支持。

二、日志怎么用

Spring Boot 项目在启动的时候默认就有日志输出,如下图:
SpringBoot日志文件_第1张图片
以上内容就是 Spring Boot 输出的控制台日志信息。
通过上述日志信息我们能发现以下 3 个问题:

  • Spring Boot 内置了日志框架(不然也输出不了日志)
  • 默认情况下,输出的日志并非是开发者定义和打印的,那开发者怎么在程序中自定义打印日志呢?
  • 日志默认是打印在控制台上的,而控制台的日志是不能被保存的,那么怎么把日志永久的保存下来
    呢?
    那接下来,我们进行答案的寻找。

三、自定义日志打印

开发者自定义打印日志的实现步骤:

  • 在程序中得到日志对象。
  • 使用日志对象的相关语法输出要打印的内容

3.1在程序中得到日志对象

// 1.得到⽇志对象
private static Logger logger =
LoggerFactory.getLogger(UserController.class);

SpringBoot日志文件_第2张图片
SpringBoot日志文件_第3张图片
注意:Logger 对象是属于 org.slf4j 包下的,不要导错包
Spring Boot 中内置了日志框架 Slf4j,所以咱们可以直接在程序中调用 slf4j 来输出日志

3.2使用日志对象打印日志

SpringBoot日志文件_第4张图片

3.3日志格式说明

SpringBoot日志文件_第5张图片

四、日志级别

4.1介绍

日志的级别就是为了筛选符合目标的日志信息的

4.2日志级别的分类

分为以下几种:

  • trace:微量,少许的意思,级别最低;
  • debug:需要调试时候的关键信息打印;
  • info:普通的打印信息;(默认级别)
  • warn:警告,不影响使用,但需要注意的问题;
  • error:错误信息,级别较高的错误日志信息;
  • fatal:致命的,因为代码异常导致程序退出执行的事件。

日志级别的顺序:
SpringBoot日志文件_第6张图片

4.3日志的使用

4.3.1日志级别的设置

logging.level.root = error

日志的输出级别,默认是 info
SpringBoot日志文件_第7张图片

五、日志持久化

把日志保存下来的过程就叫做持久化。想要将日志进行持久化,只需要在配置文件中指定日志的存储目录或者是指定日志保存文件名之后,Spring Boot 就会将控制台的日志写到相应的目录或文件了。

5.1配置日志文件的保存路径

SpringBoot日志文件_第8张图片

5.2配置日志文件的文件名

SpringBoot日志文件_第9张图片

六、更简单的日志输出(lombok)

每次都使用 LoggerFactory.getLogger(xxx.class) 很繁琐,且每个类都添加一遍,也很麻烦,这⾥讲一种更好用的日志输出方式,使用 lombok 来更简单的输出。
1.添加 lombok 框架支持。
2.使用 @slf4j 注解输出日志。

6.1添加 lombok 依赖

SpringBoot日志文件_第10张图片
SpringBoot日志文件_第11张图片
SpringBoot日志文件_第12张图片
SpringBoot日志文件_第13张图片

6.2输出日志

SpringBoot日志文件_第14张图片

你可能感兴趣的:(Spring,spring,boot,java,spring)