首页 > 其他 > 详细

SLF4J如何集成不同日志库

时间:2015-10-23 13:39:23      阅读:202      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!