常见java日志框架(基于slf4j)转换

常见java日志框架(基于slf4j)转换_第1张图片
slf4j:Simple Logging Facade for Java。slf4j定义了一些接口规范。其他日志框架实现这些接口即可。(接口这玩意挺好的,可是java搞的太坑爹,侵入性的,动不了)

logback、slf4j-simple、slf4j-nop这些是直接实现slf4j接口的。

log4j、java.util.logging、common-logging这些不是根据slf4j来实现的,所以中间需要搞个adapter(适配器),如果把log4j比作两个卡的插座,适配器就是在两个孔的插座上面插的三个孔的插座,以此来适应slf4j的三孔标准。

问:我的项目原来用log4j,现在想换成logback,怎么搞呢?
答:这个问题对应现实的问题就是:你家有个两插头的电饭煲,要换成三插头的电饭煲,可是你家的插座是两孔的(汗!!!)。你说能怎么搞呢?
1、把三插头的剪掉,连上个两插头的。(我去,那你换个毛三插头的电饭煲啊)
2、在两孔插座上插上个三孔插座。(三插头,so easy,oh yeah!)
log4j-over-slf4j就是“两孔插座上的那个三孔插座”,有了它,再加上图第二列logback相关包加上slf4j-api,搞定。(具体配置请看这里:http://clojure.iteye.com/admin/blogs/1102648

一理通百理通,其他的log框架想互相转,就去找jcl-over-slf4j,osgi-over-slf4j等等这些个“三插头”转换器,转好了后,该咋用还咋用。如果找不到,自己写一个也不难。无非就是改名字的体力活,一一对应slf4j的接口方法,名字一个个改过去。


你可能感兴趣的:(log4j,logback,slf4j,common-logging)