slf4j下使用log4j
slf4j是日志门面,可以简单理解为接口
而log4j则可以理解为具体的实现
两者结合使用首先要在pom.xml里加入
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> </dependency>
然后在项目根目录创建log4j.properties
log4j.rootLogger = info,stdout,E log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern =%d{yyyy-MM-dd HH\:mm\:ss,SSS}|%F\:%L|%p|%m%n log4j.appender.E = org.apache.log4j.DailyRollingFileAppender log4j.appender.E.File =C:/log4j/infoFile.log log4j.appender.E.Append = true log4j.appender.E.Threshold = INFO log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern =%d{yyyy-MM-dd HH\:mm\:ss,SSS}|%F\:%L|%p|%m%n
最后可以参考源码中的使用方法
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Wombat { final static Logger logger = LoggerFactory.getLogger(Wombat.class); Integer t; Integer oldT; public void setTemperature(Integer temperature) { oldT = t; t = temperature; logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT); if(temperature.intValue() > 50) { logger.info("Temperature has risen above 50 degrees."); } } }