首页 > 其他 > 详细

apache commons Logging与Log4j结合的使用

时间:2014-04-14 02:06:39      阅读:461      评论:0      收藏:0      [点我收藏+]

apache commons Logging 是一种JCL ,java commons Logging.

它的宗旨在于取消各种日志框架实现之间的差异,以统一的一致地接口API来操作日志。从而实现高度的日志系统抽象,你无需从新编码就可以切换不同的日志框架实现。所以所commons Loging屏蔽了具体日志实现了之间的差异。(思路上类似于JDBC的抽象)。我们只需要面对Commons Logging操作日志即可。

其实与commons Logging体系类似的还有SLF4J,SLF4J是log4j的作者另起灶炉搞的,除了这个抽象体系外,还有一个实现用以取代log4j,就是logback,。 SLF4J也可以兼容各种日志框架实现。但是它的API更为简单,操作更为方便,更强大。SLF4J+Log4j目前很流行,SLF4J+Logback是SLF4j官方推荐的,据说比commonsLogging+log4j快几倍。同时也更方便。咱不谈它。


最常见的commons Logging实现是Log4j.所以我们主要介绍commons Loggins 与log4j的结合使用。

那commons logging如何找到或确定使用哪个实现呢。以下为其与log4j整合的大致思路:


1)        首先在classpath下寻找自己的配置文件commons-logging.properties,如果找到,则使用其中定义的Log实现类;

如org.apache.commons.logging.Log = org.apache.commons.logging.impl.SimpleLog

2)        如果找不到commons-logging.properties文件,则在查找是否已定义系统环境变量org.apache.commons.logging.Log,找到则使用其定义的Log实现类;如:

System.getProperties().setProperty(LogFactory.class.getName(),
                                   Log4jFactory.class.getName());

3)        否则,查看classpath中是否有Log4j的包,如果发现,则自动使用Log4j作为日志实现类;

4)        否则,使用JDK自身的日志实现类(JDK1.4以后才有日志实现类);

5)        否则,使用commons-logging自己提供的一个简单的日志实现类SimpleLog;


可见我们只要我们将log4j的jar文件放在classpath中,就无需配置,就可以直接使用commons logging与log4j的组合了。

继承需要添加类库:commons-logging-1.1.3.jar,  log4j-1.2.17.jar.(当然log4j自己的配置文件log4j.pproperties还是要有的)

之后我们就可以直接面向commons logging编程了。


commons Logging主要操作就是两个类:Log接口,LoggerFactory

使用:

private Log log = LogFactory.getLog(CLASS.class);
日志级别:fatal,error,warn,info,debug,trace

这就ok了。

另外可以参考:

commons.apache.org/proper/commons-logging/guide.html

http://singleant.iteye.com/blog/934593



apache commons Logging与Log4j结合的使用,布布扣,bubuko.com

apache commons Logging与Log4j结合的使用

原文:http://blog.csdn.net/xby1993/article/details/23610787

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!