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.

浙公网安备 33010602011771号