- 日志门面
是对不同日志框架提供的一个抽象层(统一接口),可在部署的时候不修改任何配置即可接入一种日志实现方案,SLF4j 属于一个日志门面 - 日志实现框架
Log4j、Logback、Log4j2 都属于日志实现框架,其中Logback 是Log4j 的升级版;SpringBoot框架选用的是SLF4j +Logback 组合 - SLF4j +Logback 的使用
开发中,日志记录方法的调用,形式上是调用抽象层的方法,实质上是调用的实现层的方法;要使用SLF4j +Logback,只需导入SLF4j 与Logback 的依赖即可 - SLF4j +Log4j 的使用
由于Log4j 出现早于SLF4j,需额外添加适配层slf4j-log4j12.jar,这样Log4j 也能符合SLF4j 规范 - 配置文件取决于具体日志实现框架
- 统一日志记录
开发中,框架之间的整合可能会导致混乱,因为不同框架自身带有不同的日志实现框架,所以需要一个转换;例如需要统一使用SLF4j +Logback 组合时,额外再添加 log4j-over-slf4j,它的作用就是将引入的jar 包中的Log4j 换为SLF4j ,所有使用Log4j 打印日志的地方将会转换为SLF4j 打印日志,而SLF4j 实际调用的是Logback 来具体的打印日志,这样就可以将项目中的日志框架统一 - 统一日志到SLF4j 步骤小结(SpringBoot 选用SLF4j +Logback 组合的原理也是这样的)
- 排除框架自带的日志框架(导入依赖时排除,如只排除,框架无法运行,故引出第二步)
- 导入中间包例如log4j-over-slf4j 去替代被排除的日志框架
- 导入SLF4j 具体的实现框架如Logback
相关文章
- 01-10log4j,logback,log4j2和slf4j关系
- 01-10slf4j、logback、log4j打印出的日志行号不正确,如何获取正确的行号(调用者类里的行号)
- 01-10SLF4j、Log4j、Log4j2、Logback 以及统一日志
- 01-10简单日志门面slf4j及框架log4j、log4j2、logback
- 01-10Slf4j集成Log4j,Logback日志框架
- 01-10几种志框架:Log4j Log4j2 SLF4J logback和Apache Commons Logging的比较
- 01-10几种志框架:Log4j Log4j2 SLF4J logback和Apache Commons Logging的比较
- 01-10【转】java日志组件介绍(common-logging,log4j,slf4j,logback )
- 01-10Java日志框架(Commons-logging,SLF4j,Log4j,Logback)
- 01-10扔掉log4j、log4j2,自己动手实现一个多功能日志记录框架,包含文件,数据库日志写入,实测5W+/秒日志文件写入,2W+/秒数据库日志写入,虽然它现在还没有logback那么强大