1. 程式人生 > >java-maven-mvc 配置log4j

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 = catalina.base/....Log {catalina.base}是對應的tomcat例項 一般情況下${catalina.home}為tomcat 的lib/bin目錄的父目錄,catalina.base指 向每個Tomcat目 錄私有資訊的位置,就是conf、logs、temp、webapps和work的父目錄。
對於Log日誌的使用方法:
在java使用sql的相關方法中,在又try方法的相關類中,使用以下方式:
Logger log = Logger.getLogger(this.getClass());
在catch中寫
log.error(e);
就可以將日誌輸出到對應的日誌檔案中

注意,程式碼規範 :在類中應該詳細說明,日誌錯誤原因是什麼,便於以後在查詢的時候方便查詢,要檢查的錯誤程式碼放在try中,可以有效的捕捉到。
log.error(e.getMessage()+”錯誤原因”);可以不照這個格式寫,但是要保證能清楚

大功告成