(1)先說一下log4j依賴的3個jar:
slf4j-api-1.7.7.jar
slf4j-log4j12-1.7.7.jar
log4j-1.2.17.jar
那些commons-xxx-xxx.jar不用,比如:commons-logging-1.2.jar,請看截圖:

(2)log4j.properties文件
1 log4j.rootLogger=info,CONSOLE,FILE 2 3 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 4 log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 5 log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{1}@(%F:%L):%m%n 6 7 log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender 8 log4j.appender.FILE.File=${catalina.base}/logs/spring-web.log 9 log4j.appender.FILE.Encoding=utf-8 10 log4j.appender.FILE.DatePattern='.'yyyy-MM-dd 11 log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 12 log4j.appender.FILE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH\:mm\:ss} %C{1}@(%F\:%L)\:%m%n
注意,要命的一點來了,第一行的CONSOLE,FILE要與下面的一致,要么都是大寫、要么都是小寫。。。我之前犯過的一個錯誤。。。
(3)創建對象,以下兩種方式都可以
1 import org.slf4j.Logger; 2 import org.slf4j.LoggerFactory; 3 4 public Logger logger = LoggerFactory.getLogger(TestController.class);
或者
1 import org.apache.log4j.Logger; 2 3 public static Logger logger=Logger.getLogger(TestController.class);
附: jar包依賴
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.7</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.7</version> </dependency>
