JCL-Over-SLF4J 是一个适配器,它的作用是将原本依赖于 Jakarta Commons Logging (JCL) API 的代码重定向至 SLF4J。当存在第三方库使用 JCL 进行日志记录时,引入 JCL-Over-SLF4J 可以让这些日志请求通过 SLF4J 进行处理。同时,如果项目选择 Log4J、Log4J2 或 Logback 作为最终的日志实现,需要确保:在项目的类路...
JCL 运行时使用了 SLF4JLogFactory,从而完成了 JCL 的日志实现委托给了 SLF4J,再由 SLF4J 进一步完成具体的日志输出。 采用JCL-Over-SLF4J+SLF4J+Log4J使用模式也是相似的,这里就不详述了。总结下就是 JCL 把 SLF4J 当作它的日志实现。 再来想象个问题:如果我们把这两个包 jcl-over-slf4j-1.5.11.jar 和 ...
跟JCL 一样,SLF4J 也是只提供 log 接口,具体的实现是在打包应用程序时所放入的绑定器(名字为 slf4j-XXX-version.jar)来决定,XXX 可以是 log4j12, jdk14, jcl, nop 等,他们实现了跟具体日志工具(比如 log4j)的绑定及代理工作。举个例子:如果一个程序希望用 log4j 日志工具,那么程序只需针对 slf4j-api 接口...
将log4j1的输出转给slf4j,这就是log4j-over-slf4j做的事 这一部分主要用来进行实际的日志框架之间的切换(下文会详细讲解) jul-to-slf4j:jdk-logging到slf4j的桥梁 log4j-over-slf4j:log4j1到slf4j的桥梁 jcl-over-slf4j:commons-logging到slf4j的桥梁 3集成总结 3.1 commons-logging与其他日志框架集成 1 ...
maven下web项目使用jcl-over-slf4j后报错ClassNotFoundException: org.apache.commons.logging.Log,程序员大本营,技术文章内容聚合第一站。
jar包就是别人已经写好的一些类,然后将这些类进行打包,你可以将这些jar包引入你的项目中,然后就可以直接使用这些jar包中的类和属性以及方法
四、SLF4J官方说明 SLF4J与每种具体日志框架的绑定规则。 图4-1 slf4j官方逻辑图 把Commons logging,log4j和java.util.logging桥接到SLF4J,底层使用logback的case。 图4-2 桥接到SLF4J,并使用logback日志框架 比如我们项目中依赖了spring-core,因为它原生依赖commons-logging,所以需要用jcl-over-slf4j.jar桥接包来...
接口层的作用上面已经说了 以SLF4J 为例,它并非日志的实现(当然也没有实现的概念,因为没有标准),而是各种日志框架(java.util.logging,logbacak,log4j)的简单门面(facade,门面设计模式)或抽象接口,允许用户在部署时选择期望的日志框架实现。 日志实现层
日志框架:JCL和JCL-over-SLF4J桥接包直接互斥 日志系统:logback和slf4j-log4j12互斥,不能共存 我们大概可枚举出如下几种组合: 类型 slf4j+logback 目前最主流的玩法,除了依赖slf4j、logback,还需要考虑把二方库和三方库内部使用的jcl和log4j桥接到slf4j上来,并避免依赖反桥接的包 ...