springboot中的日志详解

本文详细介绍了SpringBoot中的日志框架,包括常用日志框架如Self4j和Logback,以及如何在SpringBoot中使用Self4j,统一不同框架的日志。文章强调了SpringBoot默认的日志实现,并提供了将其他框架日志转换为Self4j的步骤,展示了SpringBoot对日志的自动适配能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 常用的日志框架

(1)日志框架分为日志抽象层和日志实现层。
(2)SpringBoot底层是Spring框架,而Spring默认是使用JCL(Jakarta commons logging)
(3)SpringBoot选用self4j和logback。

/images

2. SpringBoot中的日志框架

上面已经提到SpringBoot是采用self4j和logback的日志框架来记录日志,那么如何使用呢?

2.1 如何使用Self4j?

注意:
(1)在开发的时候,日志记录的调用方法应调用日志抽象层中的方法。
(2)每一个日志框架都有自己的配置文件,当使用self4j之后,配置文件还是使用所日志实现框架的配置文件。Self4j只是个抽象层,具体的实现要看实现层,所以导入实现层的jar包是必不可少的。

2.2 如何统一日志框架?

假如有一个项目使用的是(Self4j+logback)日志框架,这个项目包含如下框架:spring(commons-logging)、 Hibernate(jboss-logging),一个项目有这么多的日志框架,如何统一规范使用呢?
首先,看一下self4j官网给出的统一日志框架流程图。
在这里插入图片描述
步骤:

  1. 将项目中其它框架的日志给去除
  2. 去除日志会带来一个问题:原有的框架会运行不了。因此用中间包来替换原有日志框架
  3. 最后倒入self4j的实现

下面以springboot框架为例,来看看springboot默认包含的日志框架,在pom.xml导入starter的jar包:

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

然后,根据依赖关系可以看出spring-boot-starter包含一个日志的jar包spring-boot-starter-logging,它里面整合了包含了中间包log4j-to-slf4jjul-to-self4jlogback-classic分别对应着self4j-api和logback-core。

  • self4j-api:把其它日志转为self4j相关依赖
  • logback-core:使用logback记录日志
    在这里插入图片描述
2.3 总结

(1)springboot底层是使用self4j+logback形式记录日志。
(2)springboot把其它框架中包含的日志都替换成了slf4j的形式。
(3)springboot能自动适配所有日志,底层是self4j+logback形式,无需添加其它。

对于日志的具体使用方法参考:SpringBoot中使用日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值