天天看點

Log4j日志在java項目中的使用(附工程源碼)

版權聲明:本文為部落客原創文章,轉載注明出處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日志在java項目中的使用(附工程源碼)

log4j.properties内容如下:

logtest.java内容如下:

3.4、運作結果

運作logtest.java,會看到控制台如下結果:

Log4j日志在java項目中的使用(附工程源碼)

另外,d:\logs下也會多了兩個log檔案,且内容如下圖:

Log4j日志在java項目中的使用(附工程源碼)
Log4j日志在java項目中的使用(附工程源碼)
Log4j日志在java項目中的使用(附工程源碼)

4.1、将它轉成web項目

轉換方法,請閱讀部落客的另外一篇文章: 

<a href="http://blog.csdn.net/u013142781/article/details/50380920">http://blog.csdn.net/u013142781/article/details/50380920</a>

Log4j日志在java項目中的使用(附工程源碼)

4.2、添加spring和springmvc以及javaee-api的依賴

修改pom.xml如下:

4.3、配置web.xml

其實web項目中log4j的使用與上面的差別就在于,web項目進行了log4j.properties的加載,web項目加上了如下配置:

配置檔案web.xml的全部内容如下:

4.4、配置其他檔案如下目錄

Log4j日志在java項目中的使用(附工程源碼)

usercontroller.java内容如下:

spring-mvc.xml内容如下:

application.xml内容如下:

index.jsp内容乳如下:

4.5、運作結果

Log4j日志在java項目中的使用(附工程源碼)
Log4j日志在java項目中的使用(附工程源碼)
Log4j日志在java項目中的使用(附工程源碼)

<a href="http://download.csdn.net/detail/u013142781/9378146">http://download.csdn.net/detail/u013142781/9378146</a>

繼續閱讀