文章参考 http://zy19982004.iteye.com/blog/1867448
1、commons-logging是一个简单的适配器,为各种各样的日志实现提供了统一的接口。
2、当变化日志实现时,application不需要做任何改变。
3、commons-logging也提供了简单的日志实现,但不推荐使用。
Commons-logging能帮我们做什么?
a) 提供一个统一的日志接口,简单了操作,同时避免项目与某个日志实现系统紧密a耦合
b) 很贴心的帮我们自动选择适当的日志实现系统(这一点非常好!)
c) 它甚至不需要配置
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; publicclass Log4jModel { privatestaticfinal Log LOG = LogFactory.getLog(Log4jModel.class); publicstaticvoid main(String[] args) { if (LOG.isErrorEnabled()) { LOG.error("error......"); } if (LOG.isInfoEnabled()) { LOG.info("info......"); } if (LOG.isDebugEnabled()) { LOG.debug("debug......"); } } }