一.Apache Log4j
- http://logging.apache.org/log4j/2.x/
- 提供了全面的日志管理。
二.Apache commons-logging
- http://commons.apache.org/proper/commons-logging/
- there are many logging implementations out there,The Logging package is an ultra-thin bridge between different logging implementations...
- 翻译过来:
- commons-logging是一个简单的适配器,为各种各样的日志实现提供了统一的接口。
- 当变化日志实现时,application不需要做任何改变。
- commons-logging也提供了简单的日志实现,但不推荐使用。
三.commons-logging怎样适配到合适的日志系统
1) 首先在classpath下寻找自己的配置文件commons-logging.properties,如果找到,则使用其中定义的Log实现类;
2) 如果找不到commons-logging.properties文件,则在查找是否已定义系统环境变量org.apache.commons.logging.Log,找到则使用其定义的Log实现类;
3) 否则,查看classpath中是否有Log4j的包,如果发现,则自动使用Log4j作为日志实现类;
4) 否则,使用JDK自身的日志实现类(JDK1.4以后才有日志实现类);
5) 否则,使用commons-logging自己提供的一个简单的日志实现类SimpleLog;
四.使用Log4j和commons-logging
- 项目里加入log4j.jar和commons-logging.jar,加入classpath下。
- 新建log4j.properties,加入classpath下。
-
package com.joyoungzhang.log4j; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class Log4jModel { private static final Log LOG = LogFactory.getLog(Log4jModel.class); public static void main(String[] args) { if (LOG.isErrorEnabled()) { LOG.error("error......"); } if (LOG.isInfoEnabled()) { LOG.info("info......"); } if (LOG.isDebugEnabled()) { LOG.debug("debug......"); } } }
通过http://zy19982004.iteye.com/blog/1991328可以了解到,采用org.apache.commons.logging.impl.LogFactoryImpl作为LogFactory,去实例化一个Log4JLogger对象。
五.单独使用Log4j或commons-logging
- 单独使用Log4j,在编程复杂度上比一起使用Log4j和commons-logging更低,但整个系统与Log4j是耦合的,有一天我不想使用Log4j了,整个系统都得改。
- 单独使用commons-logging当然也可以,但commons-logging的作用体现在“为所有的日志实现提供统一的接口”,本身并没有强大的日志实现系统,所以也不推荐。
六.你也可以阅读以下文档
- http://commons.apache.org/proper/commons-logging/
- http://logging.apache.org/log4j/2.x/
- http://www.cnblogs.com/80houboy/archive/2012/01/02/commons-logging_commons-log4j.html
七.附件内容:commons-logging和Log4j整合的demo
相关推荐
官网下载,未作任何改动
本压缩包内附带log4j-1.2.14和commons-logging-1.1.1,Java日志记录行业标准组件。不要分啦。鄙视开源组件还收费的猥琐鬼。
Commons-loggin的目的是为“所有的Java日志实现”提供一个统一的接口,它自身的日志功能平常弱(只有一个简单的SimpleLog?...另外一个我能想到的“同时使用commons-logging和Log4j”的原因是,简化使用和配置
commons-logging-1.0.4.jar可以引入: org.apache.commons.logging.Log,org.apache.commons.logging.LogFactory等,用于写日志。 免费送,只要1积分
可是现在的开源项目都使用的是 log4j,log4j 已经成了事实上的标准,但由于又有一部分开发者在使用 sun logger,因此 apache 才推出 commons-logging,使得我们不必关注我们正在使用何种日志工具。
commons-logging配合log4j,java log ,打印输出日志必备
Apache针对不同的语言平台为做了一系列日志工具包,可应用于java、.net、php、c++,这些日志包都是免费的,使用非常方便,可以极大提高...现在,Apache通用日志工具commons-logging和Log4j已经成为Java日志的标准工具。
Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具。它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志...
log4j算是比较好用的日志操作插件了吧,一般与commons-logging一起使用,一直没时间去搞,现在空出了点儿时间,写了一个定时调度程序,将日志输出到指定的文件,简单了解就可以了,此项目属于java项目,eclipse和...
java日志实现,结合log4j和commons-logging两个jar包,实现简单的LogDemo。
pax-logging-log4j2 (log4J2) pax-logging-logback (logback) pax-logging-log4j1在 2.0.0 版本之前被命名为pax-logging-service 。 不同的日志 API 基本接口org.osgi.service.log.LogService从OSGi的纲要规范的第...
commons-logging-1.2.jar,log4j-1.2.16.jar,三个文件一起组成一个完整的日志输出,Apache的Common Logging只是一个高层的日志框架,本身并没有实现真正的写日志能力,而是依赖其它的日志系统如Log4j或者java本身的...
Log4j日志记录所需jar: log4j-1.2.15 commons-logging Oracle数据库连接所需jar: ojdbc15 Spring 3.0.5所含jar: org.springframework.** ... applicationContext.xml:不同版本的jar对应不同的配置文件描述,重要...
01-日志专题-java日志体系基础 ---01-课程简介及学习目标.mp4 ---02-java日志体系概述.mp4 ---03-系统日志与log4j日志简介.mp4 ---04-log4j实例代码展示.mp4 ---05-jul的诞生与代码展示.mp4 ---06-jcl的历史背景与...
1:JDKLogTest.java JDK自带的日志控件,相对... commons-logging控件不是日志控件,没有日志功能,他只是统一了JDK Logging与Log4的API,并且将日志功能交给JDK Logging或Log4,对于不能确定日志方式的系统,建议使用。
本课程主要讲解日志框架commons-logging和Log4j基本应用和分析,适合于所有java开发人员
01-日志专题-java日志体系基础 ---01-课程简介及学习目标.mp4 ---02-java日志体系概述.mp4 ---03-系统日志与log4j日志简介.mp4 ---04-log4j实例代码展示.mp4 ---05-jul的诞生与代码展示.mp4 ---06-jcl的历史背景与...
java log打印必备.配合Commons-logging。输出log日志,
log4j:1.2.16 junit:4.12 commons-logging:1.1.1 maven:3 注意:spring的不同版本与mongodb结合可能会有问题,自测:spring4.2.1结合mongodb会报错:**springframework.core.context.**service 此外,例子同时涉及:...