`
xiaoheliushuiya
  • 浏览: 402113 次
文章分类
社区版块
存档分类
最新评论

通用日志框架--SLF4J

 
阅读更多

SLF4J是Simple Logging Facade for Java 的简称,即java简单日志外观,说白了就是一些通用日志功能的API。它是新一代的通用日志框架,现在好多的开源项目的新版本都开始使用该通用日志框架

SLF4Jcommons-logging一样都是为日志功能提供简单统一的接口,可以方便系统更换日志实现。

SLF4J解决了Commons-logging中存在的一些问题,具体细节大家可以百度。它将会成为代替commons-logging的新一代通用日志框架。

下面将具体介绍SLF4J的原理和使用

SLF4J的核心包slf4j-api.jar中只包含了日志功能的API,即各种接口,它和commons-logging不一样,简单日志实现没有放在核心包内,而是作为一个具体实现放在一个单独的jar包中:slf4j-simple.jar。slf4j-api.jar包不能单独使用(commons-logging.jar可以单独使用,因为它自己的简单实现就放在此包内),必须配合具体日志的适配器和具体日志实现包一块使用。


SLF4J的使用原理(log4j为具体实现例子)

Slf4j-api------slf4j-log4j适配器-------log4j具体实现



SLF4J官方发布包中,除了slf4j-api.jar包外,还有许多与具体日志实现相对应的适配器包,如下图所示


从上面可以看出:slf4j-api和具体日志的绑定是通过像slf4j-log4j.jar这样适配器包实现的



SLF4J +Log4j DEMON

项目目录结构


测试类

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogTest {

	public static void main(String[] args) {
		
		Logger logger=LoggerFactory.getLogger(LogTest.class);
		logger.warn("----log4j实现------");
	}

}

从上述代码中可以看出只用到slf4jAPI,看不到具体实现的痕迹

运行效果


SLF4J将会成为代替commons-logging的新一代通用日志框架,大家很有必要学习一下。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics