日志信息jar包 slf4j-api、slf4j-log4j12、log4j 之间的关系和使用

蔚落 2021-11-11 01:28 632阅读 0赞

slf4j-api、slf4j-log4j12、log4j 之间的关系:

在这里插入图片描述

  1. 首先系统包含slf4j-api作为日志接入的接口:编译时slf4j-api中public final class LoggerFactor类中private final static void bind()方法会寻找具体的日志实现类绑定,主要通过StaticLoggerBinder.getSingleton()的语句调用。
  2. slf4j-log4j12是链接slf4j-api和log4j中间的适配器:它实现了slf4j-api中StaticLoggerBinder接口,从而使得在编译时绑定的是slf4j-log4j12的getSingleton()方法。
  3. log4j是具体的日志系统:通过slf4j-log4j12初始化Log4j,达到最终日志的输出。
  4. 可参考官方文档:https://www.slf4j.org/manual.html
    https://www.slf4j.org/

为什么选择这个组合?

JCL太老了,jboss-logging太专业了,SLF4j和Log4j以及Logback是出自同一个人的手中。

在这里插入图片描述

maven配置:

  1. <properties>
  2. <slf4j.version>1.7.7</slf4j.version>
  3. <log4j.version>1.2.17</log4j.version>
  4. </properties>
  5. <dependencies>
  6. <dependency>
  7. <groupId>log4j</groupId>
  8. <artifactId>log4j</artifactId>
  9. <version>${log4j.version}</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>org.slf4j</groupId>
  13. <artifactId>slf4j-api</artifactId>
  14. <version>${slf4j.version}</version>
  15. </dependency>
  16. <dependency>
  17. <groupId>org.slf4j</groupId>
  18. <artifactId>slf4j-log4j12</artifactId>
  19. <version>${slf4j.version}</version>
  20. </dependency>
  21. </dependencies>

配置log4j.properties
在这里插入图片描述
External Libraries
在这里插入图片描述

jar包配置(5个包)

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,632人围观)

还没有评论,来说两句吧...

相关阅读