j2ee通用日志框架的介绍

在j2ee日志方面,我们常常会遇到如下几个依赖:

  • log4j
  • slf4j
  • apache common logging
  • logback
本文就针对这几个组建做简单的介绍整理。

log4j

全称是 "log for java"。  它是一个具体的log实现框架,实现具体的日志输出。其通过 log4j.properties就可配置强大的日志输出.

logback

      它是一个具体的log实现框架,实现具体的日志输出,效率比log4j高。logback由log4j作者Ceki开发,逐步取代log4j。

apache common-logging

    apache定义的日志适配器接口,是在运行时动态根据配置文件绑定日志框架的。相对slf4j是比较古老的东西。它的默认配置文件是commons-logging.properties。
     
commons-logging.properties例子: 
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

slf4j

全称是 "log for javaSimple Logging Facade for Java"。  SLF4J不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,在编译时刻根据所用jar的不同配置使用的日志实现。slf4j由log4j,logback作者Ceki开发,逐步取代apache common-logging。
      对使用者来说,接口都在 slf4j-api-1.6.6.jar 包中。具体在运行时,会需要绑定一个(只能一个)具体的log输出实现。
     可以选择的 org.slf4j.impl.StaticLoggerBinder 的实现有:

slf4j-log4j12-1.6.6.jar
Binding for log4j version 1.2, a widely used logging framework. You also need to place log4j.jar on your class path.

slf4j-jdk14-1.6.6.jar
Binding for java.util.logging, also referred to as JDK 1.4 logging

slf4j-nop-1.6.6.jar
Binding for NOP, silently discarding all logging.

slf4j-simple-1.6.6.jar
Binding for Simple implementation, which outputs all events to System.err. Only messages of level INFO and higher are printed. This binding may be useful in the context of small applications.

slf4j-jcl-1.6.6.jar
Binding for Jakarta Commons Logging. This binding will delegate all SLF4J logging to JCL.
只要把一个相应的jar放在编译时刻的classpath里就可以了。

posted @ 2012-08-30 14:53  林间走寸  阅读(294)  评论(0)    收藏  举报