Slf4j 全称为Simple Logging Facade for JAVA:java简单日志门面。 是对不同日志框架提供的一个门面封装。可以在部署的时候不修改任何配置即可接入一种日志实现方案。和commons-loging 应该有一样的初衷。个人感觉设从计上更好一些,没有commons 那么多潜规则。同时有两个额外特点:

1. 能支持多个参数,并通过{} 占位符进行替换,避免老写logger.isXXXEnabled 这种无奈的判断,带来性能提升见:http://www.slf4j.org/faq.html#logging_performance 。

2.OSGI 机制更好兼容支持

一图胜千言,官网上的一个图:





  1. <dependency>  
  2.     <groupId>org.slf4j</groupId>  
  3.     <artifactId>slf4j-log4j12</artifactId>  
  4.     <version>1.7.2</version>  
  5. </dependency>