版權聲明:本文為部落客原創文章,轉載注明出處http://blog.csdn.net/u013142781
log4j是apache的一個開源項目,通過使用log4j,我們可以控制日志資訊輸送的目的地是控制台、檔案、gui元件,甚至是套接口伺服器、nt的事件記錄器、unix syslog守護程序等;我們也可以控制每一條日志的輸出格式;通過定義每一條日志資訊的級别,我們能夠更加細緻地控制日志的生成過程。最令人感興趣的就是,這些可以通過一個配置檔案來靈活地進行配置,而不需要修改應用的代碼。
在強調可重用元件開發的今天,除了自己從頭到尾開發一個可重用的日志操作類外,apache為我們提供了一個強有力的日志操作包-log4j。
2.1、日志資訊的優先級
日志記錄的優先級,分為off、fatal、error、warn、info、debug、all或者您定義的級别。log4j建議隻使用四個級别,優 先級從高到低分别是error、warn、info、debug。而且在企業中一般也隻使用着四種。下面是各個級别的極介紹:
off 最高等級,用于關閉所有日志記錄。
fatal 指出每個嚴重的錯誤事件将會導緻應用程式的退出。
error 指出雖然發生錯誤事件,但仍然不影響系統的繼續運作。
warn 表明會出現潛在的錯誤情形。
info 一般和在粗粒度級别上,強調應用程式的運作全程。
debug 一般用于細粒度級别上,對調試應用程式非常有幫助。
all 最低等級,用于打開所有日志記錄。
2.2、日志資訊的輸出目的地
日志資訊的輸出目的地指定了日志将列印到控制台還是檔案中。參考如下配置檔案log4j.properties,其既配置了輸出到控制台,也配置了輸出到日志檔案中:
其中log4j.appender.d.threshold是一個過濾器,配置了表示輸出該級别及其以上的日志,
另外log4j.appender.d.append = true一般輸出到檔案的都會配置,而且配置成true,true:表示添加,false:表示覆寫。
2.3、配置日志資訊的格式
2.2中的log4j.properties配置檔案中,應該會看log4j.appender.*.layout,這表示輸出的日志格式配置。
log4j.appender.*.layout值的選擇有以下幾種:
一般我們都采用第二種org.apache.log4j.patternlayout,自定義格式,如2.2中的log4j.properties配置檔案中,這種格式需要我們自定義,這裡小寶鴿如下定義:
其中含義介紹:
本項目使用的環境:eclipse + maven 。
3.1、建立maven項目
(packagding 選war,因為後面會講到其在web項目中的使用,同樣用這個建立的項目),如果不知道如何建立maven項目的,可以參考部落客另外一篇文章:
<a href="http://blog.csdn.net/u013142781/article/details/50316383">http://blog.csdn.net/u013142781/article/details/50316383</a>
3.2、在pom.xml添加log4j的jar包依賴:
3.3、添加配置檔案和測試類

log4j.properties内容如下:
logtest.java内容如下:
3.4、運作結果
運作logtest.java,會看到控制台如下結果:
另外,d:\logs下也會多了兩個log檔案,且内容如下圖:
4.1、将它轉成web項目
轉換方法,請閱讀部落客的另外一篇文章:
<a href="http://blog.csdn.net/u013142781/article/details/50380920">http://blog.csdn.net/u013142781/article/details/50380920</a>
4.2、添加spring和springmvc以及javaee-api的依賴
修改pom.xml如下:
4.3、配置web.xml
其實web項目中log4j的使用與上面的差別就在于,web項目進行了log4j.properties的加載,web項目加上了如下配置:
配置檔案web.xml的全部内容如下:
4.4、配置其他檔案如下目錄
usercontroller.java内容如下:
spring-mvc.xml内容如下:
application.xml内容如下:
index.jsp内容乳如下:
4.5、運作結果
<a href="http://download.csdn.net/detail/u013142781/9378146">http://download.csdn.net/detail/u013142781/9378146</a>