`
xiaoheliushuiya
  • 浏览: 403246 次
文章分类
社区版块
存档分类
最新评论

通用日志框架--Commons-logging

 
阅读更多

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics