使用slf4j的優勢:java
提供帶參數的日誌輸出方法(SLF4J 1.7及之後版本)。web
pom中只需引入slf4j-log4j12,而後maven會引入它所依賴的其它JAR包。spring
slf4j和log4j結合使用步驟:apache
1.在pom文件中添加代碼(非maven項目自行下載jar包):app
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.2</version> </dependency>
2.添加log4j配置文件log4j.properties:maven
# DEBUG,INFO,WARN,ERROR,FATAL
LOG_LEVEL=INFO
log4j.rootLogger=${LOG_LEVEL},CONSOLE,FILE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Encoding=utf-8
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{8}@(%F:%L):%m%n
log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{1}@(%F:%L):%m%n
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File=${catalina.base}/logs/workorder.log
log4j.appender.FILE.Encoding=utf-8
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
#log4j.appender.FILE.layout=org.apache.log4j.HTMLLayout
log4j.appender.FILE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH\:mm\:ss} %C{8}@(%F\:%L)\:%m%n
3.在web.xml中配置log4j:測試
<!-- 配置log4j配置文件路徑 --> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:conf/log4j.properties</param-value> </context-param> <!-- 60s 檢測日誌配置 文件變化 --> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>60000</param-value> </context-param> <!-- 配置Log4j監聽器 --> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
4.在代碼中打印日誌:spa
private Logger logger = LoggerFactory.getLogger(TaskJob.class);
logger.info("帶參日誌測試:{}", "參數111");
日誌輸出:日誌
[INFO ] 2017-03-14 17:20:00 TaskJob@(TaskJob.java:47):帶參日誌測試:參數111