您的位置:首页 > 其它

统一的日志调用接口 SLF4j

2012-02-23 14:20 141 查看
Simple Logging Facade for Java (SLF4J) http://www.slf4j.org/ 简单统一日志门面(好贴切)

SLF4J是为各种loging APIs提供一个简单统一的接口,从而使得最终用户能够在部署的时候配置自己希望的loging APIs实现。

简单说,你的项目用的log4j,我的用的java的logging,那么我们整合就会存在问题

而如果都使用SLF4J,那么就是面向抽象接口编程,具体用什么方式实现日志,都可以采用包含不同的jar包来实现

SLF4J 和已有日志实现的绑定是在编译时静态执行的,具体绑定工作是通过一个jar包实现的,使用时只要把相应的jar包(只有一个)放到类路径上即可。

比如,使用log4j:

slf4j+log4j组合使用模式:

1. slf4j-api-1.5.11.jar

2. slf4j-log4j12-1.5.11.jar

3. log4j-1.2.15.jar

4. log4j.properties(也可以是 log4j.xml)

其实slf4j原理很简单,他只提供一个核心slf4j api(就是slf4j-api.jar包),这个包只有日志的接口,并没有实现,所以如果要使用就得再给它提供一个实现了些接口的日志包,比如:log4j,common logging,jdk log日志实现包等,但是这些日志实现又不能通过接口直接调用,实现上他们根本就和slf4j-api不一致,因此slf4j又增加了一层来转换各日志实现包的使用.

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

private static Logger logger = LoggerFactory.getLogger(RheaDhcpClient.class);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: