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>

其次,

猜你喜欢

转载自www.cnblogs.com/jfzhzo/p/9656118.html
今日推荐