发布时间:2022-09-02 10:30
Java中日志框架种类繁多,我也是最近在学习mybatis过程中对日志的使用产生了困惑,所以这里个人做下总结,希望能帮助到和我有一样困惑的朋友,下面我们就开始吧!
Java中的第一个日志框架是apache提出来的log4j
,如下:
后来呢,sun公司认为自己作为java的开发主体,日志肯定是需要自己来给出方案的,为了打压log4j,于是在jdk4中制定了JULjava util logging
,在rt.jar
的java.util.logging包中,如下:
与此同时,又有一些其他的日志框架也被提了出来,比如simplelog,此时java日志体系如下图:
但是众多的毫无关系的日志框架,势必在我们的项目中造成混乱,比如项目中使用的是log4j,依赖的库A使用的是JUL,依赖的库B使用的是simplelog,这样一个项目中各种日志框架混杂,项目会越来越不好维护,越来越混乱,此时这个问题就亟需解决。这个时候,apache社区提出了commons-logging即JCL
的日志抽象来适配各种日志框架,此时java日志体系就变成下图:
之后呢,log4j的作者提出了一个对标JCL的日志抽象适配接口SLF4J
(simple logging facade for Java),不仅如此还直接开发一个基于SLF4J的日志框架实现logback
,与此同时呢,又继续维护并升级了log4j,形成了其升级版本log4j2
,此时Java日志体系变为下图红色框为本部分新介绍的
:
这个图也是目前java日志体系发展的现状了。
SpringBoot整合 shiro + jwt,并会话共享
JAVA中stacksize是什么意思_深入理解JS函数stack size计算方法
照片浏览器_照相馆拍的证件照还过不了!照片上传到底怎样才能过?
vuex 的基础:关于vuex中用户组件、dispatch、actions、commit、mutations、state的一些概念、关系的整理
React Hooks与setInterval的踩坑问题小结
北大换新校长!中国科学院院士龚旗煌接任,15岁考上北大物理系
MATLAB图像基本变换实验报告,MATLAB图像增强与变换处理实验报告
Python项目案例开发从入门到实战-1.2 Python语法基础
数据平台调度升级改造 | 从Azkaban 平滑过度到 Apache DolphinScheduler 的操作实践
解决has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’报错跨域问题