`
- 浏览:
367926 次
- 性别:
-
slf4j-api、slf4j-log4j12以及log4j之间的关系
几乎在每个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本质就是一个接口定义。
下图比较清晰的描述了它们之间的关系,例子为当系统采用log4j作为日志框架实现的调用关系:
①首先系统包含slf4j-api作为日志接入的接口。compile时slf4j-api中public final class LoggerFactor类中private final static void bind()方法会寻找具体的日志实现类绑定,主要通过StaticLoggerBinder.getSingleton()的语句调用。
②slf4j-log4j12是链接slf4j-api和log4j中间的适配器。它实现了slf4j-apiz中StaticLoggerBinder接口,从而使得在编译时绑定的是slf4j-log4j12的getSingleton()方法。
③log4j是具体的日志系统。通过slf4j-log4j12初始化Log4j,达到最终日志的输出。
原帖地址:http://blog.csdn.net/tengdazhang770960436/article/details/18006127
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
赠送原API文档:slf4j-log4j12-1.7.25-javadoc.jar; 赠送源代码:slf4j-log4j12-1.7.25-sources.jar; 赠送Maven依赖信息文件:slf4j-log4j12-1.7.25.pom; 包含翻译后的API文档:slf4j-log4j12-1.7.25-javadoc-API...
在给定的标题和描述中,我们看到了两个关键的日志框架——`log4j`和`SLF4J(Simple Logging Facade for Java)`,以及它们之间的桥接器`slf4j-log4j12`。这些组件是Java日志处理的常用工具,让我们详细了解一下它们...
标题中的"slf4j-log4j12-1.7.12.jar"是SLF4J的一个绑定包,它的作用是将SLF4J API与log4j日志框架连接起来。具体来说,这个版本(1.7.12)的绑定包实现了SLF4J的API,并将其桥接到log4j的实现上,使得开发者可以通过...
赠送原API文档:slf4j-log4j12-1.6.1-javadoc.jar; 赠送源代码:slf4j-log4j12-1.6.1-sources.jar; 赠送Maven依赖信息文件:slf4j-log4j12-1.6.1.pom; 包含翻译后的API文档:slf4j-log4j12-1.6.1-javadoc-API文档...
赠送原API文档:slf4j-log4j12-1.7.21-javadoc.jar; 赠送源代码:slf4j-log4j12-1.7.21-sources.jar; 赠送Maven依赖信息文件:slf4j-log4j12-1.7.21.pom; 包含翻译后的API文档:slf4j-log4j12-1.7.21-javadoc-API...
最后,`slf4j-log4j12-1.6.1.jar`是`SLF4J`到`log4j`的具体适配器,它允许`SLF4J`API调用被映射到`log4j`的实现上。这样,即使你的代码使用了`SLF4J`API,实际上也可以无缝地与`log4j`日志系统协同工作。`slf4j-log4...
SLF4J(Simple Logging Facade for...`slf4j-api-1.7.12.jar`和`slf4j-log4j12-1.7.12.jar`分别是SLF4J API和SLF4J到Log4j的绑定,它们共同工作,使开发者能够利用Log4j的强大功能,同时保持代码与具体日志系统的分离。
该压缩包中包含以下内容: 1、jcl-over-slf4j-1.7.21.jar 2、jcl-over-slf4j-1.7.21-sources.jar 3、jul-to-slf4j-1.7.21.jar 4、jul-to-slf4j-1.7.21-sources.jar 5、log4j-over-slf4j-1.7.21.jar 6、log4j-over-...
"slf4j-log4j12-1.7.7"则是SLF4J的一个绑定实现,它将SLF4J的API与Log4j 1.2.x版本的日志实现进行了绑定。在项目中引入这个库,可以确保SLF4J调用的日志被Log4j处理并输出。这使得在不修改代码的情况下,可以方便地...
1.7.21-sources.jar 7、osgi-over-slf4j-1.7.21.jar 8、osgi-over-slf4j-1.7.21-sources.jar 9、slf4j-android-1.7.21.jar 10、slf4j-android-1.7.21-sources.jar 11、slf4j-api-1.7.21.jar 12、slf4j-api-1.7.21-...
slf4j-api-1.6.0.jar,slf4j-jdk14-1.6.0.jar,slf4j-log4j12-1.6.0-rc0.jar,slf4j-nop-1.6.0.jar,slf4j-simple-1.6.0.jar
slf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4...
SLF4J-log4j12桥接库则是连接SLF4J接口与Log4j实现的桥梁,使得开发者可以使用SLF4J的API,同时利用Log4j进行日志记录。 SLF4J-api-1.5.6.jar是SLF4J API的实现,它包含了一系列的日志记录接口,如`Logger`, `Level...
在实际应用中,你需要确保同时拥有SLF4J的API(slf4j-api-*.jar)和这个绑定器(slf4j-log4j12-1.7.7.jar)在你的类路径中,同时还需要Log4j1.2的核心库(log4j-*.jar)。如果你的应用程序中还包含了其他使用SLF4J的...
slf4j-api-1.5.8.jar,slf4j-log4j12-1.5.6.jar,slf4j-simple-1.5.8.jar 还在为找不到jar文件烦心吗,不用了到我空间来有你想要的,持续更新。。。
在本案例中,我们讨论的是SLF4J API的1.6.1版本,以及两个与之配合使用的日志实现:slf4j-log4j12-1.6.1和log4j-1.2.16。 **SLF4J API-1.6.1** SLF4J API是一个接口集,它定义了日志记录的各种方法,如`debug()`, `...
20、slf4j-log4j12-1.7.21-sources.jar 21、slf4j-migrator-1.7.21.jar 22、slf4j-nop-1.7.21.jar 23、slf4j-nop-1.7.21-sources.jar 24、slf4j-simple-1.7.21.jar 25、slf4j-simple-1.7.21-sources.jar
与slf4j-nop-1.7.25.jar相匹配的版本信息slf4j-api-1.7.25.jar
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory 需要jar log4j-1.2.16.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar
赠送原API文档:slf4j-log4j12-1.7.16-javadoc.jar; 赠送源代码:slf4j-log4j12-1.7.16-sources.jar; 赠送Maven依赖信息文件:slf4j-log4j12-1.7.16.pom; 包含翻译后的API文档:slf4j-log4j12-1.7.16-javadoc-API...