java-maven-mvc 配置log4j
1.二話不說先把jar包匯入了
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
2.然後配置xml
<!-- 配置log4j配置檔案路徑 -->
<context-param>
<param-name >log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
<!-- 60s 檢測日誌配置 檔案變化 -->
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value >60000</param-value>
</context-param>
<!-- 配置Log4j監聽器 -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
3.然後新建日誌檔案 : log4j.properties
l# DEBUG,INFO,WARN,ERROR,FATAL 日誌等級
LOG_LEVEL=INFO
log4j.rootLogger=${LOG_LEVEL},CONSOLE,FILE
#log4j編碼格式,時間格式設定
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Encoding=utf-8
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{8}@(%F:%L):%m%n
log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{1}@(%F:%L):%m%n
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File=${catalina.base}/logs/survey.log
log4j.appender.FILE.Encoding=utf-8
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
#log4j.appender.FILE.layout=org.apache.log4j.HTMLLayout
log4j.appender.FILE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH\:mm\:ss} %C{8}@(%F\:%L)\:%m%n
簡介:
%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 =
對於Log日誌的使用方法:
在java使用sql的相關方法中,在又try方法的相關類中,使用以下方式:
Logger log = Logger.getLogger(this.getClass());
在catch中寫
log.error(e);
就可以將日誌輸出到對應的日誌檔案中
注意,程式碼規範 :在類中應該詳細說明,日誌錯誤原因是什麼,便於以後在查詢的時候方便查詢,要檢查的錯誤程式碼放在try中,可以有效的捕捉到。
log.error(e.getMessage()+”錯誤原因”);可以不照這個格式寫,但是要保證能清楚
大功告成