SpringBoot成神之路--5.@condition深入分析、日志文件、springboot中日志关系及日志的底层深入剖析及使用

本文深入分析了Spring Boot中的@Condition注解,介绍其匹配方法和扩展。同时详细探讨了Spring Boot日志,包括日志文件选择(如SLF4J和logback)、SLF4J使用、日志关系及使用方式,如默认日志级别、控制输出、修改格式等,还提及统一日志记录的方法。

目录

 

1、@condition深入分析

2、springboot日志文件

3.SLF4J使用

4.springboot中日志关系

5.springboot中日志的使用


1、@condition深入分析

 

这里面就有一个匹配方法,就是一个条件判断的过程

所有condition注解的扩展

 使用springboot的debug方式查看配置类的条件

没有匹配上的

 

2、springboot日志文件

左边选一个门面(抽象层)、右边来选一个实现;

左边我们基本上只能选择SLF4J,其他的基本上不常用

右边的话logback是log4j的升级版,而log4j是apache公司开发的,很多场景不兼容,所以最终选择logback(SLF4J和log4j和logback都是出至同一个人手中) 

SpringBoot:底层是spring框架,spring框架默认是用JCL;

SpringBoot选用SLF4J和logback;

 

3.SLF4J使用

以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法;

给系统里面导入slf4j的jar和logback的实现jar

SLF4J的实现原理图

SLF4J的遗留问题

Spring(commons-logging)、Hibernate(jboss-logging)、Mybatis

在不同项目组合的时候需要统一日志记录,让其他框架能够统一使用SLF4J

如何让系统中所有的日志都统一到slf4j

1、将系统中其他日志框架先排除出去;

2、用中间包来替换原有的日志框架;

3、我们导入slf4j其他的实现 

 

4.springboot中日志关系

 查看springboot的依赖关系UML类图

 

我们可以看出来springboot使用的日志是logback

 总结:

1、springboot底层 也是使用slf4j+logback的方式进行日志记录

2、springboot也把其他的日志都替换成了slf4j;

3、中间替换包

查看底层日志

 注意:如果我们要引入其他框架,一定要把这个框架默认日志依赖移除掉?

spring框架默认使用的是commons-logging,看下面我们就可以看到,不需要我们手动移除默认的,因为springboot底层已经帮我们移除了。

 对于一些其他框架,需要吧这个框架依赖的日志框架移除掉就可以了。如上所示方式。

 

5.springboot中日志的使用

运行之后

说明springboot默认使用的是info级别的日志。(因为使用了info级别,后面比它级别高的都会被调用)

我们将某个包下的运行类改成其他的日志级别

控制日志输出

指定logging.file 

控制台也会有打印信息 

修改日志输出格式

在springboot中默认日志级别是INFO 

当超过10m之后会自动创建新的新的日志文件,并且命名递增

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值