Spring Boot中日志的相关问题

三、Spring Boot与日志

1、日志框架
小张:开发大型系统;框架记录系统的一些运行信息;日志框架
高大上几个功能,异步模式、自动归档
日志抽象层,统一接口,给项目导入具体的日志实现就行了;
市面上的日志框架;
JUL、JCL、 log4j
在这里插入图片描述
左边选一个门面,右边来选一个实现;
日志门面:SLF4J
日志实现:Logback
SpringBoot:底层是spring–JCL
SpringBoot选用SLF4J Logback
2、SLF4J 使用
1.如何在系统中使用
给系统里面导入SLF4J的jar和Logback的实现jar

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HelloWorld {
  public static void main(String[] args) {
    Logger logger = LoggerFactory.getLogger(HelloWorld.class);
    logger.info("Hello World");
  }
}

使用方法
在这里插入图片描述
每一个日志实现的框架都有自己的配置文件,使用SLF4J 以后,配置文件还是做成日志实现框架的配置文件;
2.遗留问题
其他日志框架统一转换为SLF4J ;
在这里插入图片描述
如何统一:
1、将系统中,其他日志框架排除
2、用中间包替换原来的日志框架
3、我们导入SLF4J 其他实现
3、SpringBoot日志关系

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

在这里插入图片描述

总结:
1)springBoot底层也是使用SLF4J + Logback
2)springBoot也把其他日志替换SLF4J
4、日志使用
//记录器

Logger logger = LoggerFactory.getLogger(getClass());
@Test
void contextLoads() {
    //日志级别:由低到高
    //trace<debug<info<warn<error
    //可以调整日志级别,日志只会打印这个级别以及以后的高级别
    logger.trace("这是trace日志");
    logger.debug("...debug...");
    //默认info级别,需要改变时修改配置文件
    logger.info("...info...");
    logger.warn("...warn...");
    logger.error("...error...");

}
 logging.level.com.kai=trace;
#不指定路径:当前项目下生成springboot.log日志
#可以指定完整的路径
logging.file=springboot.log
#当前磁盘的根目录下创建日志文件
logging.path=/spring/log
#在控制台输出的日志的格式
logging.pattern.console=
#指定文件中日志输出的格式
logging.pattern.file= 

日志格式解析
在这里插入图片描述
4、指定配置
在类路径下放置配置文件即可;规则如下
在这里插入图片描述
logback.xml 直接被日志框架识别
logbacl-spring.xml 日志框架不直接加载,由SpringBoot解析日志配置,可以使用springBoot的高级功能
5、切换日志框架
可以按照slf4j+log4j的方式
切换回log4j2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值