SLF4j、Log4j、Log4j2、Logback 以及统一日志

  1. 日志门面
    是对不同日志框架提供的一个抽象层(统一接口),可在部署的时候不修改任何配置即可接入一种日志实现方案,SLF4j 属于一个日志门面
  2. 日志实现框架
    Log4j、Logback、Log4j2 都属于日志实现框架,其中Logback 是Log4j 的升级版;SpringBoot框架选用的是SLF4j +Logback 组合
  3. SLF4j +Logback 的使用
    开发中,日志记录方法的调用,形式上是调用抽象层的方法,实质上是调用的实现层的方法;要使用SLF4j +Logback,只需导入SLF4j 与Logback 的依赖即可
  4. SLF4j +Log4j 的使用
    由于Log4j 出现早于SLF4j,需额外添加适配层slf4j-log4j12.jar,这样Log4j 也能符合SLF4j 规范
  5. 配置文件取决于具体日志实现框架
  6. 统一日志记录
    开发中,框架之间的整合可能会导致混乱,因为不同框架自身带有不同的日志实现框架,所以需要一个转换;例如需要统一使用SLF4j +Logback 组合时,额外再添加 log4j-over-slf4j,它的作用就是将引入的jar 包中的Log4j 换为SLF4j ,所有使用Log4j 打印日志的地方将会转换为SLF4j 打印日志,而SLF4j 实际调用的是Logback 来具体的打印日志,这样就可以将项目中的日志框架统一
  7. 统一日志到SLF4j 步骤小结(SpringBoot 选用SLF4j +Logback 组合的原理也是这样的)
    1. 排除框架自带的日志框架(导入依赖时排除,如只排除,框架无法运行,故引出第二步)
    2. 导入中间包例如log4j-over-slf4j 去替代被排除的日志框架
    3. 导入SLF4j 具体的实现框架如Logback
      SLF4j、Log4j、Log4j2、Logback 以及统一日志
      SLF4j、Log4j、Log4j2、Logback 以及统一日志
      SLF4j、Log4j、Log4j2、Logback 以及统一日志
上一篇:Spring Boot 2 集成log4j2日志框架


下一篇:SpringBoot整合Logback日志框架配置全解析