1. 程式人生 > >web專案開啟日誌列印

web專案開啟日誌列印

原文連結:http://blog.csdn.net/qq_37936542/article/details/79045188

參考文章地址:點選開啟連結,寫的很清晰

一:匯入log4j包或依賴    

jar包:log4j-1.2.16.jar

maven依賴:

  1. <dependency>
  2.     <groupId>log4j</groupId>
  3.     <artifactId>log4j</artifactId>
  4.     <version>1.2.16</version>
  5. </dependency>

二:配置 web.xml
  1. <!-- 配置log4j配置檔案路徑 -->
  2. <context-param>
  3.     <param-name>log4jConfigLocation</param-name>
  4.     <param-value>classpath:log4j.properties</param-value>
  5. </context-param>
  6. <!-- 60s 檢測日誌配置 檔案變化 -->
  7. <context-param>
  8.     <param-name>log4jRefreshInterval</param-name>
  9.     <param-value>
    60000</param-value>
  10. </context-param>
  11. <!-- 配置Log4j監聽器 -->
  12. <listener>
  13.     <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  14. </listener>

三:編輯 log4j.properties 檔案

  1. # DEBUG,INFO,WARN,ERROR,FATAL 日誌等級    
  2. LOG_LEVEL=INFO
  3. log4j.rootLogger=${LOG_LEVEL},CONSOLE,FILE    
  4. #log4j編碼格式,時間格式設定    
  5. log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender    
  6. log4j.appender.CONSOLE.Encoding=utf-8    
  7. log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout    
  8. #log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{8}@(%F:%L):%m%n     
  9. log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{1}@(%F:%L):%m%n    
  10. log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender    
  11. log4j.appender.FILE.File=${catalina.base}/logs/survey.log    
  12. log4j.appender.FILE.Encoding=utf-8    
  13. log4j.appender.FILE.DatePattern='.'yyyy-MM-dd    
  14. log4j.appender.FILE.layout=org.apache.log4j.PatternLayout    
  15. #log4j.appender.FILE.layout=org.apache.log4j.HTMLLayout    
  16. log4j.appender.FILE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH\:mm\:ss} %C{8}@(%F\:%L)\:%m%n     

檔案說明:
log4j.appender.CONSOLE.layout.ConversionPattern
 %m   輸出程式碼中指定的訊息
  %p   輸出優先順序,即DEBUG,INFO,WARN,ERROR,FATAL 
  %r   輸出自應用啟動到輸出該log資訊耗費的毫秒數 
  %c   輸出所屬的類目,通常就是所在類的全名 
  %t   輸出產生該日誌事件的執行緒名 
  %n   輸出一個回車換行符,Windows平臺為“/r/n”,Unix平臺為“/n” 
  %d   輸出日誌時間點的日期或時間,預設格式為ISO8601,也可以在其後指定格式,比如:%d{yyy MMM dd HH:mm:ss ,SSS},輸出類似:2002年10月18日  22 : 10 : 28 , 921  
  %l   輸出日誌事件的發生位置,包括類目名、發生的執行緒,以及在程式碼中的行數。舉例:Testlog4.main(TestLog4.java: 10 )
log4j.appender.CONSOLE.Encoding=UTF-8是Log程式碼的編碼格式


log4j.appender.FILE.File = ${catalina.base}/....是Log日誌的位置所在,${catalina.base}是對應的tomcat例項  一般情況下${catalina.home}為tomcat 的lib/bin目錄的父目錄,catalina.base指 向每個Tomcat目 錄私有資訊的位置,就是conf、logs、temp、webapps和work的父目錄。




在java程式碼中列印日誌:

Logger log = Logger.getLogger(this.getClass());

log.error(e);

就可以將日誌輸出到對應的日誌檔案中

文末福利:

福利二:微信小程式入門與實戰全套詳細視訊教程

領取方式:
如果需要學習視訊,歡迎關注 【程式設計微刊】微信公眾號,回覆【領取資源】一鍵領取以下所有乾貨資源,獲取更多有用技術乾貨、文件資料。所有文件會持續更新,歡迎關注一起成長!