slf4j-api、slf4j-log4j12以及log4j之间什么关系?
2015-12-02 15:10
316 查看
几乎在每个jar包里都可以看到log4j的身影,在多个子工程构成项目中,slf4j相关的冲突时不时就跳出来让你不爽,那么slf4j-api、slf4j-log4j12还有log4j他们是什么关系?我把自己了解的和大家简单分享一下:
slf4j:Simple Logging Facade for Java,为java提供的简单日志Facade。Facade:门面,更底层一点说就是接口。他允许用户以自己的喜好,在工程中通过slf4j接入不同的日志系统。更直观一点,slf4j是个数据线,一端嵌入程序,另一端链接日志系统,从而实现将程序中的信息导入到日志系统并记录。
因此,slf4j入口就是众多接口的集合,他不负责具体的日志实现,只在编译时负责寻找合适的日志系统进行绑定。具体有哪些接口,全部都定义在slf4j-api中。查看slf4j-api源码就可以发现,里面除了public final class LoggerFactory类之外,都是接口定义。因此,slf4j-api本质就是一个接口定义。
下图比较清晰的描述了他们之间的关系:
slf4j:Simple Logging Facade for Java,为java提供的简单日志Facade。Facade:门面,更底层一点说就是接口。他允许用户以自己的喜好,在工程中通过slf4j接入不同的日志系统。更直观一点,slf4j是个数据线,一端嵌入程序,另一端链接日志系统,从而实现将程序中的信息导入到日志系统并记录。
因此,slf4j入口就是众多接口的集合,他不负责具体的日志实现,只在编译时负责寻找合适的日志系统进行绑定。具体有哪些接口,全部都定义在slf4j-api中。查看slf4j-api源码就可以发现,里面除了public final class LoggerFactory类之外,都是接口定义。因此,slf4j-api本质就是一个接口定义。
下图比较清晰的描述了他们之间的关系:
![](http://img.my.csdn.net/uploads/201211/18/1353244238_7191.png)
相关文章推荐
- MIRO字段控制
- Android动画_AlphaAniamtion
- Hadoop-web日志信息挖掘MapReduce简单应用以及代码下载
- diff python2 python3
- 判断字符串是否为数字
- 数据结构之 哈希表
- 1099. Build A Binary Search Tree (30)
- [Win32]一个调试器的实现(三)异常
- Informatica - Audit Scripts
- 【剑指offer】之不用加减乘除做加法
- String.format详解
- 网页浏览过程
- 数据结构之 循环表线性表
- Android学习笔记——五大基本布局+AbsoluteLayout
- css3弹性盒子
- Create an ASP.NET web app in Azure App Service
- ubuntu搭建pyqt5开发环境
- 数据结构之 循环表线性表
- 如何用Xcode进行内存循环引用检测
- JavaSE(20)(多线程安全)