java日志体系分析

发布时间:2022-09-02 10:30

写在前面

Java中日志框架种类繁多,我也是最近在学习mybatis过程中对日志的使用产生了困惑,所以这里个人做下总结,希望能帮助到和我有一样困惑的朋友,下面我们就开始吧!

1:java日志的发展历史

Java中的第一个日志框架是apache提出来的log4j,如下:
java日志体系分析_第1张图片

后来呢,sun公司认为自己作为java的开发主体,日志肯定是需要自己来给出方案的,为了打压log4j,于是在jdk4中制定了JULjava util logging,在rt.jar的java.util.logging包中,如下:
java日志体系分析_第2张图片
与此同时,又有一些其他的日志框架也被提了出来,比如simplelog,此时java日志体系如下图:
java日志体系分析_第3张图片
但是众多的毫无关系的日志框架,势必在我们的项目中造成混乱,比如项目中使用的是log4j,依赖的库A使用的是JUL,依赖的库B使用的是simplelog,这样一个项目中各种日志框架混杂,项目会越来越不好维护,越来越混乱,此时这个问题就亟需解决。这个时候,apache社区提出了commons-logging即JCL的日志抽象来适配各种日志框架,此时java日志体系就变成下图:
java日志体系分析_第4张图片
之后呢,log4j的作者提出了一个对标JCL的日志抽象适配接口SLF4J(simple logging facade for Java),不仅如此还直接开发一个基于SLF4J的日志框架实现logback,与此同时呢,又继续维护并升级了log4j,形成了其升级版本log4j2,此时Java日志体系变为下图红色框为本部分新介绍的
java日志体系分析_第5张图片
这个图也是目前java日志体系发展的现状了。

2:各种日志的使用实例

2.1:log4j

  • pom

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号