参考地址:
http://chenming47.iteye.com/blog/923658
http://hi.baidu.com/hyy_lover/item/316a2834f2dbaa2d2e20c42f
slf4j+log4j
slf4j只是有一些日志实现的接口,和一些静态加载底层日志的实现,通过slf4j来静态加载底层日志实现的Jar。
commos-Logging+log4j
comming-logging也是一种类似与slf4j的接口,是一种组件→http://blog.163.com/haizai219@126/blog/static/444125552008102135348299/
详细解释待续》。。。
log4j使用案例:
http://www.iteye.com/topic/378077
自我总结:
①log4j默认会加载classpath路劲下的配置文件。(这句话有问题,也有可能是slf4j来自动加载的,这个倒无所谓了)。
②slf4j类似与jdbc,方式,但是比jdbc简单多了,他是通过静态加载底层日志实现jar包!!!而且不需要配置任何文件,强悍啊!找到源代码解释如下:
通过LoggerFactory类的静态getLogger()获取logger。通过查看该类的代码可以看出,最终是通过StaticLoggerBinder.SINGLETON.getLoggerFactory()方法获取LoggerFactory然后,在通过该具体的LoggerFactory来获取logger的。类org.slf4j.impl.StaticLoggerBinder并不在slf4j-api-1.*.*.jar包中,仔细查看每个与具体日志系统对应的jar包,就会发现,相应的jar包都有一个org.slf4j.impl.StaticLoggerBinder的实现,不同的实现返回与该日志系统对应的LoggerFactory,因此就实现了所谓的静态绑定,达到只要选取不同jar包就能简单灵活配置的目的。