为什么是SLF4J?
slf4j是一个的日志框架门面,抽象了各种日志框架的接口,如:logback,log4j,commons-logging,Java JDK自带的logging等,
它是一套接口,具体实现交给了其它日志框架,
使用slf4j的项目,可以在部署的时候灵活选择自己想要的日志实现框架,想用 logback就logback,想用 log4j就log4j,想用其它的就其它的!
为什么是Logback?
以前我用log4j,后面出来了log4j的改进版本logback,所以用logback替代了log4j.为什么是log4而不是jdk自动的或者其它的,主要是 配置方便,性能好,用的人多!
maven Java项目中使用slf4j+logback入门 demo
1.pom.xml中配置slf4j 和 logback
<dependency>
<groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.0.13</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.6.6</version>
</dependency>
2.配置logback.mxl 把它房子 src/main/resources下
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
<property name="LOG_HOME" value="../logs" />
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder charset="UTF-8">
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
</pattern>
</encoder>
</appender>
<logger name="com.chenyun.test" level="DEBUG">
<appender-ref ref="stdout" />
</logger>
</configuration>
3.代码中使用
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......
public class Start implements ServletContextListener {
private Logger logger = LoggerFactory.getLogger(Start.class);
public void contextDestroyed(ServletContextEvent arg0) {
logger.error("触发了 contextDestroyed web服务异常");
}
......
}