[spring]springboot日志

一. 日志的用途

在这里插入图片描述
在这里插入图片描述

二. 打印日志

得到日志对象:
需要使用日志工厂LoggerFactory

@RestController
public class LoggerController {
    
    
    private static Logger logger = LoggerFactory.getLogger(LoggerController.class);

注意:Logger 对象是属于 org.slf4j 包下的

打印日志:
使用info()

    @RequestMapping("/logger")
    public String logger(){
    
    
        logger.info("---------打印日志---------");
        return "打印日志";
    }
}

在这里插入图片描述

三. 日志框架

在这里插入图片描述
SLF4J不同于其他⽇志框架, 它不是⼀个真正的⽇志实现, ⽽是⼀个抽象层, 对⽇志框架制定的⼀种规范,
标准, 接⼝. 所有SLF4J并不能独⽴使⽤, 需要和具体的⽇志框架配合使⽤

门面模式(外观模式)

SLF4J是⻔⾯模式的典型应⽤

⻔⾯模式定义
⻔⾯模式(Facade Pattern)⼜称为外观模式, 提供了⼀个统⼀的接⼝, ⽤来访问⼦系统中的⼀群接⼝, 其主要特征是定义了⼀个⾼层接⼝, 让⼦系统更容易使⽤
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SLF4J框架介绍

SLF4J 就是其他⽇志框架的⻔⾯. SLF4J 可以理解为是提供⽇志服务的统⼀API接⼝, 并不涉及到具体的
⽇志逻辑实现

不引入日志门面:
在这里插入图片描述
在这里插入图片描述
引入日志门面:
在这里插入图片描述

四. 日志格式

在这里插入图片描述
在这里插入图片描述

日志级别

⽇志级别代表着⽇志信息对应问题的严重性, 为了更快的筛选符合⽬标的⽇志信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
结果发现, 只打印了info, warn和error级别的⽇志
这与⽇志级别的配置有关, ⽇志的输出级别默认是 info级别, 所以只会打印⼤于等于此级别的⽇志, 也就
是info, warn和error

配置日志级别

想要修改日志级别默认, 就需要进行配置日志级别

在这里插入图片描述
在这里插入图片描述
此时, 就把默认日志级别改成debug, 那么只会打印大于debug级别的日志
在这里插入图片描述
可以只修改某个类的日志级别
在这里插入图片描述

日志持久化

以上的⽇志都是输出在控制台上的, 然⽽在线上环境中, 我们需要把⽇志保存下来, 以便出现问题之后追溯问题. 把⽇志保存下来就叫持久化
日志持久化有两种方式:
在这里插入图片描述
**配置日志文件路径: **
在这里插入图片描述
在这里插入图片描述
默认文件名为spring.log, path不能设置文件名
配置日志文件名:
在这里插入图片描述
在这里插入图片描述
在这个文件中就保存着所有运行时候产生的日志
在这里插入图片描述
在name中可以设置绝对路径或相对路径
当name和path都存在时, 只有name生效

配置日志文件分割

如果我们的⽇志都放在⼀个⽂件中, 随着项⽬的运⾏, ⽇志⽂件会越来越⼤, 需要对⽇志⽂件进⾏分割
当然, ⽇志框架也帮我们考虑到了这⼀点, 所以如果不进⾏配置, 就⾛⾃动配置
默认⽇志⽂件超过10M就进⾏分割
在这里插入图片描述

那么我们也可以手动配置
在这里插入图片描述
日志文件超过1KB就分割
分割之后的日志文件名为: 日志名.日期.索引
在这里插入图片描述

配置日志格式

日志默认的打印格式是这样的
在这里插入图片描述

配置让idea支持控制台颜色显示:
在这里插入图片描述
添加: -Dspring.output.ansi.enabled=ALWAYS
在这里插入图片描述
在这里插入图片描述
我们也可以进行手动配置日志格式
在这里插入图片描述

  pattern:
    console: '%d{yyyy-MM-dd HH:mm:ss.SSS} %c %M %L [%thread] %m%n'
    file: '%d{yyyy-MM-dd HH:mm:ss.SSS} %c %M %L [%thread] %m%n'

在这里插入图片描述
在这里插入图片描述

五. 更简单的日志输出

每次都使⽤LoggerFactory.getLogger(xxx.class) 很繁琐,且每个类都添加⼀遍, lombok给我们提供了⼀种更简单的⽅式

  1. 添加lombok框架⽀持
  2. 使⽤ @slf4j 注解输出⽇志

在这里插入图片描述
在这里插入图片描述
lombok提供的 @Slf4j 会帮我们提供⼀个⽇志对象log,我们直接使⽤就可以

猜你喜欢

转载自blog.csdn.net/m0_73992740/article/details/142450282