java日志框架体系

java日志框架
摘要由CSDN通过智能技术生成

目录

主流的log技术名词

log4j

jcl——Jakarta commons-logging

jul

log4j2

slf4j

logback

simple-log

各种日志技术的关系和作用

 spring日志技术分析

spring5.x 日志技术实现

spring4.x 日志技术实现


主流的log技术名词

log4j

  • 可以不需要依赖第三方的技术,直接记录日志
  • <dependency> 
        <groupId>log4j</groupId>  
        <artifactId>log4j</artifactId>
        <version>1.x.xx</version>
    </dependency>

jcl——Jakarta commons-logging

  • jcl不直接记录日志,通过第三方记录日志(jul)
  • 如果使用jcl来记录日志,在没有log4j的依赖情况下,是用jul
  • 如果有了log4j则使用log4j
  • apache公司开发的一个抽象日志通用框架,本身不实现日志记录,但是提供了记录日志的抽象方法即接口(info,debug,error.......),底层通过一个数组存放具体的日志框架的类名,然后循环数组依次去匹配这些类名是否在应用中被依赖了,如果找到被依赖的则直接使用,所以他有先后顺序。 
  • <dependency>    
        <groupId>commons-logging</groupId>   
        <artifactId>commons-logging</artifactId>  
        <version>x.x.x</version>
    </dependency>
  • 下图jcl中存放日志技术类名的数组,默认有四个

  • 下图81行就是通过一个类名去load一个class,如果load成功则直接new出来并且返回使用。如果没有load到class这循环第二个,直到找到为止。

  • 也就是如果没有找到具体的日志依赖则继续循环,如果找到则条件不成立,不进行循环了。

总结:顺序log4j>jul

jul

  • java自带的一个日志记录的技术,直接使用

log4j2

slf4j

  • slf4j他也不记录日志,通过绑定器绑定一个具体的日志记录来完成日志记录
  • log4j---<artifactId>slf4j-log4j12</artifactId>

logback

simple-log

各种日志技术的关系和作用

 spring日志技术分析

spring5.x 日志技术实现

  • spring5使用的spring的jcl(spring改了jcl的代码)来记录日志的,但是jcl不能直接记录日志,采用循环优先的原则

spring4.x 日志技术实现

  • spring4当中依赖的是原生的jcl

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

考拉梁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值