Spring Boot日志文件

Spring Boot日志文件_第1张图片

文章目录

  • 1.日志有什么作用
  • 2.认识日志
  • 3.自定义打印日志
    • 3.1得到日志对象
    • 3.2利用日志对象的方法打印日志
    • 3.3日志格式说明
  • 4.日志级别
    • 4.1 认识日志级别
    • 4.2日志级别作用
  • 5. 日志持久化
  • 6.更简单的日志输出-Lombok
    • 6.1 添加lombok依赖
    • 6.2 使用Lombok输出日志
    • 6.3解释lombok运行原理

1.日志有什么作用

日志可以记录各种信息,包括错误信息、警告信息、调试信息、访问记录等等。一般来说,日志还可以记录时间戳、执行的函数、运行时参数、异常信息、程序执行路径等相关信息,便于开发人员进行问题排查和系统优化。

2.认识日志

日志是指程序或系统在运行过程中所产生的记录信息,通常用于跟踪和调试应用程序、系统故障分析、性能评估和监控等
Spring Boot日志文件_第2张图片
以上就是Spring Boot的日志内容
默认日志都是info级别的
Spring Boort内置了日志框架
默认情况下日志不是 自定义打印的
但是当程序员想要自定义打印也有办法

3.自定义打印日志

自定义打印日志分为两步
1.得到日志对象
2…使用日志对象的方法打印日志

3.1得到日志对象

要使用LoggerFactory,日志工厂,Logger 对象是属于 org.slf4j 包下的
在这里插入图片描述

3.2利用日志对象的方法打印日志

Spring Boot日志文件_第3张图片
完整代码

package com.example.demo;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: WHY
 * Date: 2023-08-02
 * Time: 16:35
 */
@RestController
public class UserController2 {
    public static Logger logger= LoggerFactory.getLogger(UserController2.class);
    @RequestMapping("/user2")
    public void  sayHi(){
        logger.trace("热");
        logger.debug("烈");
        logger.info("的");
        logger.warn("不");
        logger.error("是");
    }
}

运行结果
在这里插入图片描述
看到了由info及info以后的日志,因为项目默认级别就是按照info开始打印的
那么开发人员可以设定从哪个日志开始打印(在application.test-properties文件下设置,因为我们用的端口就是测试环境下的端口号)

Spring Boot日志文件_第4张图片
也可以指定某个文件的日志打印级别
在这里插入图片描述

在这里插入图片描述

3.3日志格式说明

Spring Boot日志文件_第5张图片

4.日志级别

4.1 认识日志级别

日志级别由低到高:
trace
debug
info
warn
error
fatal

4.2日志级别作用

日志级别是指日志的重要性或严重程度。日志级别的作用是帮助开发人员或运维人员快速定位和解决问题,以便更好地维护和管理应用程序或系统。不同的日志级别表示不同的日志信息

日志 作用
trace 微量,少许的意思,级别最低
debug 用于开发人员在调试过程中输出详细的日志信息
info 用于输出正常运行信息。
warn 用于输出警告信息,表明应用程序或系统出现了一些潜在的问题。
error 用于输出错误信息,表明应用程序或系统发生了错误,但不影响系统运行。
–fatal -于输出严重错误信息,表明应用程序或系统发生了无法恢复的错误,需要立即处理。-

5. 日志持久化

当项目在运行的时候我们可以发现日志存在,但是当项目关闭,日志就没有了,所以我们要保存日志以文件的形式保存在文件中,有两个做法
1.设置日志的保存路径(还是写在application-test.properties中)
Spring Boot日志文件_第6张图片
运行
在这里插入图片描述
上面显示大小为0kb,真的是这样吗?,我们打开看看
Spring Boot日志文件_第7张图片
可以看到上面显示了项目中的日志
多次运行项目观察
Spring Boot日志文件_第8张图片

可以看到日志的保存不是覆盖保存的, 每一次的运行都会被记录下
2.设置文件保存名
Spring Boot日志文件_第9张图片
这样写会在项目下生成一个日志文件
Spring Boot日志文件_第10张图片

Spring Boot日志文件_第11张图片
我们也可以加上存储路径
在这里插入图片描述

6.更简单的日志输出-Lombok

每次都使⽤ LoggerFactory.getLogger 很麻烦,这⾥讲⼀
种更好⽤的⽇志输出⽅式,使⽤ lombok 来更简单的输出

6.1 添加lombok依赖

idea应用商店搜素lombok下载
Spring Boot日志文件_第12张图片
然后添加lombok依赖
Spring Boot日志文件_第13张图片

6.2 使用Lombok输出日志

package com.example.demo;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: WHY
 * Date: 2023-08-02
 * Time: 17:44
 */
@RestController
@Slf4j//有了这个注解,就可以直接log对象了
public class UserController3 {
    @RequestMapping("/user3")
    public void say(){
        log.info("happy");
    }
}

在这里插入图片描述
lombok可以提供@Getter,@Setter,@Tostring注解,不用再自己写getter,setter,tostring方法了,还有一个注解是这三个的组合注解,@Data
Spring Boot日志文件_第14张图片

Spring Boot日志文件_第15张图片

6.3解释lombok运行原理

说到lombok的运行原理,我们就要说到Java代码的编译和运行了
写好的代码经过编译变成了.class文件,然后到jvm加载运行

Spring Boot日志文件_第16张图片

有了lombok,就变成
Spring Boot日志文件_第17张图片

在代码编译期间把lombok注解变成相应的代码,不影响最后的运行

好了,今天的讲解就到这里,我们下期再见,886!

Spring Boot日志文件_第18张图片

你可能感兴趣的:(spring,boot,java,数据库)