(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>