本文解析了打造一个log4j日志框架项目需要的最小的和日志相关的包:
commons-logging-xxx.jar
log4j-xxx.jar
slf4j-api-xxx.jar
slf4j-log4j12-xxx.jar
有兴趣的同志可以继续看看下面:
Java 目前的开源日志框架主要分为 2层:
1)日志门面 (可以理解为接口)
2)日志框架具体代码(具体实现)
上述4个jar包中
commons-logging-xxx.jar
slf4j-api-xxx.jar
分别对应了JCL和slf4j两种日志门面。
后者是前者的替代品,解决了前者的一些问题。
但是,要注意,我开始以为这两兄弟是平行的,其实不是的。
我们在使用slf4j的时候,项目里也必须要包含commons-logging-xxx.jar。 具体原因有空再查证。官方的解释是:您就放着吧。
然后呢:
log4j-xxx.jar 就是log4j核心的日志框架代码。
那slf4j-log4j12-xxx.jar 是干嘛的呢?
可以理解为 链接
log4j-xxx.jar
slf4j-api-xxx.jar
的桥梁,或者适配器。
我个人的理解是,当年log4j刚出来应该没有遵循slf4j,所以写了个适配器来套接一下。【可能不是的,那就当帮助自己记忆吧】 :)
原文地址:http://blog.csdn.net/tbwood/article/details/39345463