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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM