现在的位置: 首页 > 综合 > 正文

通用日志框架–Commons-logging

2014年08月29日 ⁄ 综合 ⁄ 共 1157字 ⁄ 字号 评论关闭

 Commons-logging是经典的通用日志框架,它提供了记录日志的一些通用API,即提供了记录日志的接口,具体实现由已有的日志记录框架如:log4jJDK
Logging
等实现。Commons-logging自己也有一个简单记录日志实现,在其它具体实现框架都不存在的情况下,它将使用自己的简单日志实现。

 

经典的黄金搭档是:commons-logging+ log4j,即:由commons-logging提供记录日志的接口,由log4j提供具体实现。

 

Commons-logging +log4j的使用非常简单:

  • 拷贝commons-logging.jar
  • 拷贝log4j.jar +log4j.properties
  • 无需任何其它配置,就可以在程序代码中直接使用commons-logging API了。这是因为:commons-logging会自动在classpath下检测是否有其它日志框架,如log4j等的存在,如果存在相应的jar包,则直接使用已存在的日志框架。

 

Commons-logging +log4jDEMO

 

项目目录结构

 

Log4j.properties的配置如下

 

 

测试类

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class LogTest {

	public static void main(String[] args) {
		
		//获取日志对象
		Log logger = LogFactory.getLog(LogTest.class);
		
		//记录日志
		logger.debug("---调试信息----");
		logger.info("---提示信息----");
		logger.warn("---警告信息----");
		logger.error("---错误信息----");
		logger.fatal("---致命信息----");
	}

}

主要用到了两个类

Log接口

LogFactory

从代码中未看到具体实现的痕迹,全部都是commons-loggingAPI

 

运行结果

控制台日志信息

 

文件日志信息

 

解析:

因为log4j中只配置了rootLogger,而且是warn级别的,所以只有>=warn级别的日志才能输出,低级的被过滤掉了。所以输出的日中大家只能看到warn之后的

 

如果没有log4j,commons-logging将会使用JDK
Logging
记录日志,如下

 

Commons-logging的优点就在于它可以方便的更换日志的具体实现,提供通用日志记录接口。

 

以上就是关于commons-logging通用日志框架的简单介绍,简单但很实用。

我的下篇文章将会为大家介绍新一代通用日志框架SLF4J

抱歉!评论已关闭.