关于java日志

java中的日志主要是针对slf4j,以下涉及到的jcl具体是指引用common-logging的jar包,jul指的是java.util.logging。

首先我们说说jcl的具体用途:

比如说一个框架使用的是jcl日志的形式,但是我们的应用却用的是另外一种日志,比如是log4j,那么jcl就会自动的适配到我们的应用中的log4j日志,统一都使用log4j。common-logging通过动态查找的机制,在程序运行时自动找出真正使用的日志。应该说它能适配的有log4j和jul,但是jcl中自带一种simper logger的简单实现,一般情况下是用不到的,因为jdk中肯定是有jul的。那么通常的搭配就是common-logging + log4j,如下:


关于java日志_第1张图片

适配到log4j,具体日志实现是log4j

接下来就是我们最常用的slf4j:

首先slf4j是简单日志门面,是接口,类似于commons-logging,是对不同日志框架的一个门面封装,而不是具体实现。那么它与具体实现之间是需要一个桥接器来连接的,具体到不同的实现需要不同的桥接器jar包。而对于俩个使用不同日志的框架来说,如果想要统一成一个日志输出,那么可以使用替换器(适配器),将其中一个框架的日志适配到另外一个的slf4j的日志框架,具体结构如下


关于java日志_第2张图片
关于java日志_第3张图片
关于java日志_第4张图片

如果内容对大家有所帮助,感谢打赏鼓励!

你可能感兴趣的:(关于java日志)