1. Java世界中的日志框架
- 其中,slf4j和jcl属于门面日志框架,而其它的几个则是真正干活的ddidic底层日志框架。
- 冷知识:其中标红的日志框架,它们的作者是同一人。
- 不同的日志框架,API接口往往也不一样。
如果直接使用底层的日志框架,会有什么问题?
- 每种底层日志框架,都有不同的API,配置文件的格式也不一样。
- 当Java程序要使用这些框架的时候,它就需要为不同的框架写不同的接入代码,此时就会带来一些问题:
- 当Java应用程序需要更换日志框架时会非常的麻烦,需要修改大量的代码
- 即便你的应用程序只使用一种日志框架,但是你依赖的其它第三方组件使用的是其它的日志框架,如果多种日志框架共存,此时将不得不维护多套配置文件。
- 此时就引入了门面日志框架
2. 门面日志框架
- 门面日志框架,本质上就是一套抽象的日志API。
- 大家约定Java应用程序以及第三方框架都统一使用门面日志框架,然后再使用一个适配层,将门面日志框架和底层的日志框架绑定起来,因为从始至终只有一个底层的日志框架,所以Java应用只需要维护一套配置文件即可。
3. SLF4J日志框架
SLF4JL:全称是Simple Logging Facade for Java
- 翻译成中文,即"Java的简单日志门面",是现在Java生态中最流行的一个门面日志框架
SLF4J的实现原理