| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
8年前发布

SLF4J如何集成不同日志库

SLF4j是Apache Common Logging的代替者。

Apache Common Logging使用的是动态绑定来确定具体日志库,在运行时从classpath中寻找可用的具体日志库,这样会产生很多classloader和classpath相关的问题,而且很难排查。

Apache Common Logging不同,SLF4j采用了静态绑定来确定具体日志库。静态绑定就是为每一个具体的日志库写一个包名和类名都相同类: org.slf4j.impl.StaticLoggerBinder,这个类的功能就是调用具体的日志库。这个类会存放在Adaptation layer或者native implementation of slf4j-api的jar包中。SLF4j的使用者只要把具体日志库对应的Adaptation layer或者native implementation of slf4j-api的jar包放入classpath中,SLF4j便会装载(load)对应版本的org.slf4j.impl.StaticLoggerBinder,从而调用具体的日志库。

下图是调用关系图

SLF4J如何集成不同日志库

下图是从SLF4j官网(http://www.slf4j.org/manual.html)截取的架构图,红框中是我标注的每个jar包中和绑定有关的关键类。


SLF4J如何集成不同日志库

来自:http://my.oschina.net/fifadxj/blog/521170

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1445763781960.html
日志处理 SLF4j