Java日志系统(下)

Java日志系统(下)


Java日志系统(上)中,简单介绍了当前日志系统的基本模式。

3. 开源日志系统

sun公司为了抗衡Log4j,在JDK1.4推出了一套日志系统JDK Logger,它的最大优点是不需要继承任何类库,只要有Jre环境,就可以直接使用。但是相比其他开源日志框架,JDK Logger在易用性、功能、扩展性方面都稍逊一筹,被人诟病,所以使用较少。下面具体介绍常见的开源日志系统。

3.1 Apache Commons Logging

Apache Commons Logging(简称Commons Logging,又名JCL,即Jakata Commons Loggings),兼容了当时的主流日志实现(log4j、JUL、simplelog),就连spring也依赖了JCL。传统的应用系统基本上使用Commons Logging和Apache Log4j的组合;后来,Log4j的作者Ceki认识到这套实现在一些细节上存在缺陷,于是又开发了Slf4j和Logback(这两个并不属于Apache组织),Slf4j用来取代Commons Logging,Logback则用来取代Log4j。

3.1.1 基本结构

在commons-logging-1.2.jar中,一共有2个包:

org.apache.commons.logging
org.apache.commons.logging.impl

前者包含了日志API,后者包含日志API的实现。

org.apache.commons.logging
- Interfaces
	Log		//日志对象接口,封装了操作日志的方法,定义了日志操作的5个级别:trace < debug < info < warn < error
- Classes
	LogFactory	//抽象类,用来获取日志对象的工厂类
	LogSource
- Exceptions
	LogConfigurationException

org.apache.commons.logging.impl
 - Classes
	AvalonLogger
	Jdk13LumberjackLogger
	Jdk14Logger
	Log4JLogger	//对Log4j的日志对象的封装
	LogFactoryImpl	//LogFactory的实现类,是真正获取日志对象的地方
	LogKitLogger
	NoOpLog
	ServletContextCleaner
	SimpleLog
	WeakHashtable

3.1.2 使用方式

Commons Logging的使用非常简单。首先在pom.xml中添加如下依赖:

<dependency>
	<groupId>commons-logging</groupId>
	<artifactId>commons-logging</artifactId>
	<version>1.2</version>
<dependency>

其次,

posted @ 2018-09-16 14:38  疯咂  阅读(239)  评论(0编辑  收藏  举报