关于slf4j日志接口的理解

日期的起源:

1.早期没有日志的时候,一般采用System.out.println(),将关键数据写到控制台进行调试,就像现在的js的console

2.由于采用System.out.println()显示到控制台,一些关键数据没有办法保存起来查看,所以,需要想办法将这些打印信息写到文件上,这样就构成了早期的日志。

3.由于每次都要写相同的日志代码保存到文件上,因此在这个基础上,能否写一个日志框架,每次做新项目的时候直接将这个日志框架集成到项目中,
  不用每个项目都写一遍。这样就形成的一个日志框架。

4.有了日志框架了,就需要对日志框架的性能,以及功能进行优化比如:进行异步记录日志,日志自动归档等等。这样一个基本的日志框架就形成了。

5.由于不同的公司有不同的日志框架,因此,需要进行项目集成时,就会出现日志不匹配的问题,不同公司需要不同的日志框架以及生成不同的日志模式,
  因此管理起来非常麻烦,这个基础上,能否像JDBC一样构建一个日志标准接口,让不同公司的日志框架都采用相同的接口标准,这样就完美解决了这个问题。
  
日志的分类

  1.根据上面的描述 日志分为 日志接口标准(日志门面) 与 日志接口实现两种
  
     ① 接口标准(日志门面)
       JCL(Jakarta Commons Logging)apache公司common-logging.jar的接口,
       SLF4j(Simple Logging Facade for java)log4j与logback的接口,
       Jboss-logging 很少见
       
     ② 日志实现
       Log4j,
       JUL(java.util.logging)sun公司推出的,
       log4j2 apache公司最新的日志框架,
       logback log4j的升级
       
     其中 slf4j log4j 与 logback是一个作者Ceki Gülcü 编写的,logback是对log4j性能的升级
     后期Ceki Gülcü将log4j项目捐献给apache基金,apache 开发的新的日志框架命名为log4j2 是借用了log4j的名。
     
     spring 框架使用的日志框架是 JCL 接口的 common-logging.jar。
     springboot 采用的日志框架是 slf4j 与 logback。
     
slf4j与logback的使用

    应用程序APP在使用slf4j时,直接调用slf4j的接口方法即可,这样不管底层换成什么日志框架的实现,都不需要重新再去构建日志代码。
    
    slf4j接口的使用分为三种情况
    
    1、slf4j与logback的直接使用,因为logback是直接实现的slf4j接口因此可以直接使用。使用方式 应用程序----->slf4j接口------>logback。
    
    2、slf4j与log4j的使用,因为log4j的出现早于slf4j,因此,很多实现不是按照slf4j的接口直接实现的,所以需要中间机架上一层适配层进行处理。
       
       使用方式 APP---->slf4j接口---->Adapter适配层---->log4j
       
    3、slf4j与其他日志框架的结合使用,同log4j类似,因为其他日志框架不是使用slf4j作为接口开发的,因此使用时,需要中间做一个适配层进行适配。
    
       使用方式 APP---->slf4j接口---->Adapter适配层---->其他日志框架
       
       正式由于这个原因,我们经常会看到slf4j的一些桥接jar包
       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值