(01)明明配置了log4j.properties为什么还是不打印日志

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

 

posted @ 2020-02-24 14:45  雷雨客  阅读(2176)  评论(0编辑  收藏  举报