码迷,mamicode.com
首页 > 其他好文 > 详细

SLF4J如何集成不同日志库

时间:2015-10-23 13:42:41      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:

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官网(http://www.slf4j.org/manual.html)截取的架构图,红框中是我标注的每个jar包中和绑定有关的关键类。


技术分享

SLF4J如何集成不同日志库

标签:

原文地址:http://my.oschina.net/fifadxj/blog/521170

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!