日志框架 (Logging Framework)比较
在日志框架诞生之前,JUL(java.util.logging.*)是JDK1.4的日志系统,JUL并没有明显的优势来战胜Log4j,反而造成了标准的混乱。因为采用不同日志系统的应用程序无法和谐生存。
JUL诞生以后,为了克服多种日志系统并存所带来的混乱,就出现了“日志框架”。日志框架本身不提供记录日志的功能,它只提供了日志调用的接口。日志框架依赖于实际的日志系统如Log4j或JUL来产生真实的日志。
使用日志框架的好处是:应用的部署者可以决定使用哪一种日志系统(Log4j还是JUL),或者在多种日志系统之间切换,而不需要更改应用的代码。
JCL(Jakarta Commons Logging) |
http://commons.apache.org/logging/ 这是目前最流行的一个日志框架,由Apache Jakarta社区提供。 Spring框架、许多老应用都依赖于JCL。 |
SLF4J |
这是一个最新的日志框架,由Log4j的作者推出。 SLF4J提供了新的API,特别用来配合Logback的新功能。但SLF4J同样兼容Log4j。 |
- Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具。 它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志实现工具。用户被假定已熟悉某种日志实现工具的更高级别的细节。JCL提供的接口,对其它一些日志工具,包括Log4J, Avalon LogKit, and JDK 1.4等,进行了简单的包装,此接口更接近于Log4J和LogKit的实现.
- SLF4J,即简单日志门面(Simple Logging Facade for Java)SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。