几句话阐述清楚log4j、slf4j、logback、tinylog之间的区别

1.早期,jdk不提供日志功能,所以程序员要想输出相关信息,基本上都使用 System.out.println( );

2.在这个背景下,一位伟大的程序员,暂且称呼为 伟员, 设计了一套系统的日志功能代码,也就是log4j,广受程序员欢迎

3.在这之后,log4j表示jdk可以把log4j功能纳入其中,但是jdk竟然碍于脸面,拒绝了。

4.虽然拒绝了,但是这个功能还是要有的啊,于是也开发了一套日止功能代码 --》java.util.logging 。其核心概念和log4j非常相似,

但是此时log4j早已深入人心了,不可撼动了。

5.伟员之前已经把log4j的代码开源了,于是日志工具的世界中有了更多的选择。比如:log4j、logging、logback、tinylog等等

6.顺便一提,logback也是伟人后来开发出来的哦

7.由于市面上存在如此之多的日志工具,伟人又提出了新的问题,用户如果想切换了怎么办?不想用log4j了,能换到logback吗?

8.于是伟人想了想,我还是提供一个抽象层吧,用户用这个抽象层的API来写日志,底层用什么日志工具不用关心,这样就可以移植了,于是---slf4j 诞生。

9.对于log4j、jdk  logging、tinylog等工具,需要一个适配层,把slf4j的API转换成具体工具的调用接口。

而logback因为也是伟人写的,当时直接就实现了slf4j的API,所以连适配层也不需要了。用起来速度飞快,效率最高。

slf4j+logback 成了许多人的最爱。

10.全文到此结束,最后由衷感谢这位伟人做出的巨大贡献-----Ceki Gülcü

本文参考相关博客整理而成:

SLF4J和Logback和Log4j和Logging的区别与联系 - 微信公众号:【Java藏宝阁】 - CSDN博客  https://blog.csdn.net/qq_32625839/article/details/80893550

猜你喜欢

转载自blog.csdn.net/weixin_42652696/article/details/85682629