Bridging legacy APIs 桥接遗留API

slf4j官网参考资料

问题

在写项目的时候,可能会遇到这种情况:项目依赖很多包,有的包基于logging api,有的包基于slf4j接口,即大家用的日志包各不相同,这种情况下,该怎么办?

解决方法

slf4j提供了桥接模块(bridge modules),该模块可以将对log4j、JCL(Jakarta Commons Logging,也是一种日志接口)、java.util.logging的接口调用,重定向至slf4j接口。如下图所示:

The implementation of JCL over SLF4J, i.e jcl-over-slf4j.jar, will allow your project to migrate to SLF4J piecemeal, without breaking compatibility with existing software using JCL. Similarly, log4j-over-slf4j.jar and jul-to-slf4j modules will allow you to redirect log4j and respectively java.util.logging calls to SLF4J. See the page on Bridging legacy APIs for more details.

日志类型 桥接Jar包 slf4jBingding的jar包
JCL(Jakarta Commons Logging) jcl-over-slf4j.jar slf4j-jcl.jar
log4j log4j-over-slf4j.jar slf4j-reload4j.jar
jul(java.util.logging) jul-to-slf4j.jar slf4j-jdk14.jar

注:桥接的Jar包容易和Slf4j的Binding Jar包弄混,这里以JCL为例,进行说明,其余两个解释与此相似。

  1. jcl-over-slf4j会将所有对jcl的调用,重定向为对slf4j的调用;
  2. slf4j-jcl是slf4j接口的一种实现,一种binding,由jcl来实现slf4j的接口。
  3. jcl-over-slf4jslf4j-jcl不能同时出现,否则会导致死循环。(因为在不停的转换->实现->转换->实现…)

Please note that jcl-over-slf4j.jar and slf4j-jcl.jar cannot be deployed at the same time. The former jar file will cause JCL to delegate the choice of the logging system to SLF4J and the latter jar file will cause SLF4J to delegate the choice of the logging system to JCL, resulting in an infinite loop.

小贴士

log4j.properties转换为logback.xml的工具

Maven应该提供哪些依赖,原文标题:关于slf4j log4j log4j2的jar包配合使用的那些事

Bridging legacy APIs 桥接遗留API相关推荐

  1. ElasticSearch 6.3版本 Document APIs之Reindex API

    Reindex API 声明:本文根据ES官方文档进行翻译与总结而得.转载请注明作者:https://blog.csdn.net/qingmou_csdn 注意:Reindex不会尝试设置目标索引.它 ...

  2. 关于如何解决解决The SDK platform-tools version ((25.0.3)) is too old to check APIs compiled with API 26...

    A.点击Tools,选中Android,然后选中SDK Manager,如下图: B.选择SDK Tools ,再选择Android SDK platform-tools,点击Apply,最后点击ok ...

  3. The SDK platform-tools version ((23)) is too old to check APIs compiled with API 26;

    好像是更新过啥SDK之后,项目一直在包名的那一行显示红线,不过是不报编译错误的,就是看着老扎心老扎心的,开始以为是指定的SDK版本的问题,修改后发现无效,最后找到方法解决: 打开SDK Manager ...

  4. java slf4j_SLF4J 使用手册

    原文链接  译者:zivyu Java的简单日志门面( Simple Logging Facade for Java  SLF4J)作为一个简单的门面或抽象,用来服务于各种各样的日志框架,比如java ...

  5. [转载] log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析

    参考链接: log4j-示例程序 注:下文中的"桥接"."转调"."绑定"等词基本都是同一个概念. log4j-over-slf4j和slf ...

  6. log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析

    转自:https://blog.csdn.net/kxcfzyk/article/details/38613861 注:下文中的"桥接"."转调"." ...

  7. Java日志体系详解

    一.日志框架的分类 1.1.门面型日志框架: JCL:Apache基金会所属的项目,是一套Java日志接口,之前叫Jakarta Commons Logging,后更名为Commons Logging ...

  8. java slf4j log4j_SLF4J和log4j的使用

    SLF4J的使用和Log4j的配置 SLF4J 简介 完整用户手册请异步:SLF4J 使用手册 SLF4J是Simple Logging Facade for Java的简写,即Java简单日志门面, ...

  9. Java日志--slf4j--使用/教程/实例

    原文网址:Java日志--slf4j--使用/教程/实例_IT利刃出鞘的博客-CSDN博客 简介 说明         本文用示例介绍Java的slf4j这个日志框架的用法.同时也会介绍相关的知识. ...

  10. aws lambda_AWS API Gateway和AWS Lambda示例

    aws lambda The purpose of this article is to present the most relevant details and not-so-straight s ...

最新文章

  1. Android网络编程系列 一 Socket抽象层
  2. python迷宫万花筒代码_利用广度优先遍历搜索迷宫的python源代码
  3. 如何修改product base category
  4. [半翻] 设计面向DDD的微服务
  5. 我在微软做研发 | 亚洲创新的科研之力
  6. 听红宝书译者谈Web视角下的前端开发
  7. vba数组dim_NDArray — —一个基于Java的N-Dim数组工具包
  8. 工作流实战_28_flowable 任务多实例
  9. python爬虫文件格式_Python网络爬虫数据格式学习(转换headers、表单和urlencode数据为字典格式)...
  10. 怎么样生成bean对象java_使用BeanFactory实现创建对象
  11. Pointer Networks简介及其应用(格式化)
  12. 进展-Silverlight5、 windows phone 7、pc 三栖引擎,2D核心已完成
  13. Java零基础如何入门学习?给初学者的建议,非常全面
  14. opencv安装与配置vs2019
  15. 矩阵迹的几何意义是什么?
  16. 费马定理_高数_1元微积分
  17. 不用Maven打jar包
  18. 【python实现抠图】
  19. 【C语言】操作符 ~ ,二进制位按位取反
  20. linux报错Loading mirror speeds from cached hostfile解决方法

热门文章

  1. 计算机visio流程图,系统流程图和Visio
  2. JAVA数据库增删改查
  3. HJ6302网关模块与富士PXR5系列温控器的通讯
  4. mysql省市县三级互动_省市县三级联动的SQL语句
  5. SAS Visual Analytics(VA)安装教程
  6. mbedtls里面的rsa应用函数
  7. android rs232串口协议,RS232串口协议详解
  8. python pdf处理工具_NB,真PDF神处理工具!
  9. 使用Md5加密算法对密码进行加密(工具类)
  10. Linux系统下VMware虚拟机安装Win7 ISO操作系统