JSP基礎(chǔ)與案例開發(fā)詳解:第10章 Log4j的應(yīng)用_第1頁
JSP基礎(chǔ)與案例開發(fā)詳解:第10章 Log4j的應(yīng)用_第2頁
JSP基礎(chǔ)與案例開發(fā)詳解:第10章 Log4j的應(yīng)用_第3頁
JSP基礎(chǔ)與案例開發(fā)詳解:第10章 Log4j的應(yīng)用_第4頁
JSP基礎(chǔ)與案例開發(fā)詳解:第10章 Log4j的應(yīng)用_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1第10章 Log4j的應(yīng)用學(xué)前提示本章將從什么是Log4j、Log4j的配置、Java程序中如何調(diào)用Log4j等方面來講解Log4j的使用。知識要點Log4j下載與配置Log4j的使用Log4j的性能調(diào)優(yōu)commons-logging的使用210.1Log4j概述日志(Log)是指記錄程序運行時狀態(tài)信息的文本。在應(yīng)用程序中進行日志記錄,主要有以下幾個目的:監(jiān)視代碼中變量的變化情況,周期性地記錄到文件中,供其他應(yīng)用進行統(tǒng)計和分析工作。將代碼運行時的軌跡作為日后審計的依據(jù)。擔(dān)當(dāng)集成開發(fā)環(huán)境中的調(diào)試器的作用,向文件或控制臺打印代碼的調(diào)試信息。Log4j是Apache的一個開放源代碼項目,通過使用Log4j,可以控制日志信息輸送的目的地是控制臺、文件、GUI組件,甚至是套接口服務(wù)器、事件記錄器、UnixSyslog守護進程等;用戶也可以控制每一條日志的輸出格式;通過定義每一條日志信息的級別,能夠更加細致地控制日志的生成過程。并且可以通過配置文件靈活地設(shè)置日志信息的優(yōu)先級、日志信息的輸出目的地以及日志信息的輸出格式。310.1Log4j概述Log4j中有三個主要的組件,它們分別是Logger、Appender和Layout,即日志寫入器、日志輸出終端和日志布局模式。Log4j的類結(jié)構(gòu)如圖10.1所示。410.1.1日志記錄器(Logger)org.apache.log4j.Logger類的實例是用來取代System.out或者System.err的日志寫出器的,主要用來輸出日志信息??梢酝ㄟ^以下方式來獲取Logger類的實例://根據(jù)指定名稱來獲取一個日志記錄器實例Loggerlogger=Logger.getLogger(Stringname);//根據(jù)指定的類信息中的類名獲取一個日志記錄實例Loggerlogger=Logger.getLogger(Classclazz);獲取Logger實例之后,就可以使用它提供的以下方法來記錄日志了:參見教材P343510.1.1日志記錄器(Logger)Log4j中定義了5種日志輸出優(yōu)先級別,來靈活控制輸出的日志內(nèi)容,按照優(yōu)先級別由高到低排列,如表10.1所示。610.1.2日志輸出目的地(Appender)Appender的功能是把格式化好的日志信息輸出到指定的目的地中。執(zhí)行日志輸出語句時,Logger對象將接收來自日志語句的記錄請求,然后發(fā)送至Appender,Appender將輸出結(jié)果寫入到用戶指定的目的地。日志目的地是通過Log4j的配置文件來指定的。對于不同的日志目的地,Log4j提供不同的Appender類型的實現(xiàn)類。常用的Appender實現(xiàn)類包括:用于控制臺的org.apache.log4j.ConsoleAppender。用于文件的org.apache.log4j.FileAppender。org.apache.log4j.RollingFileAppender——文件到達指定大小時產(chǎn)生一個新的文件。org.apache.log4j.DailyRollingFileAppender——每天產(chǎn)生一個日志文件。用于以流格式發(fā)送到任意位置的org.apache.log4j.WriterAppender。用于添加到數(shù)據(jù)庫的org.apache.log4j.jdbc.JDBCAppender。用于郵件發(fā)送的.SMTPAppender。710.1.3日志格式化器(Layout)Layout用來把日志消息按指定的格式格式化成字符串。而具體的格式是通過Log4j的配置文件來配置的。Log4j中提供用來格式化輸出結(jié)果的各種布局實現(xiàn)類。org.apache.log4j.SimpleLayoutorg.apache.log4j.PatternLayoutorg.apache.log4j.TTCCLayoutorg.apache.log4j.HTMLLayoutorg.apache.log4j.xml.XMLLayout810.2Log4j的下載與環(huán)境搭建Log4j的下載地址是/dist/logging/log4j/,下載頁面如圖10.2所示。解壓此文件,打開解壓后的文件夾,如圖10.3所示。將dis\lib目錄下的log4j-1.2.9.jar放置到項目的classpath中,對于Web項目,則需要將其放置于項目的WEB-INF\lib目錄下,便完成了Log4j的配置。910.3Log4j的使用Log4j受眾多、用戶青睞的原因之一,是因為它可以使用配置文件,使應(yīng)用程序能更加靈活地配置log日志輸出方式,包括輸出優(yōu)先級、輸出目的地、輸出格式。所以本節(jié)首先介紹Log4j的配置文件,其次介紹它的使用技巧。1010.3.1Log4j的配置文件1.perties(1) 配置根日志記錄器(2) 配置日志信息輸出目的地Appender。(3) 配置日志信息的格式(布局)(4) 配置打印格式。(5) 其他設(shè)置。2.log4j.xml1110.3.2Log4j的使用當(dāng)配置文件編寫配置好之后,就可以使用Log4j的API進行日志記錄了。它的使用也比較簡單,在講解之前,先打開docs\api目錄下的index.html,這是Log4j的幫助文檔,它有助于本小節(jié)的學(xué)習(xí)。幫助文檔的首頁如圖10.5所示。1210.3.2Log4j的使用在Java代碼中使用Log4j打印日志信息的具體步驟如下。(1) 獲取記錄器(2) 讀取配置文件(3) 插入記錄信息(格式化日志信息)下面通過用一個簡單的實例程序來進一步說明Log4j的使用方法。新建名為LogTest.java的文件,程序代碼如下:參見教材P350LogTest.java文件中所使用perties文件的代碼清單如下:參見教材P3501310.4Log4j實例應(yīng)用本例是在第8章中jstlinstance示例的基礎(chǔ)上完成的,如果前面的示例沒有完成,建議先完成第8章的程序。然后按照以下步驟進行修改。(1) 新建perties文件。(2) 修改StuServlet.java文件(3) 修改StuBeanDaoImpl.java文件(4) 部署程序,啟動Tomcat服務(wù),訪問程序。1410.5Log4j的性能調(diào)優(yōu)Log4j作為日志記錄工具,它最終還是要在程序代碼中添加信息輸出語句。所以,對應(yīng)用程序運行的性能肯定會有一些影響,具體影響因素如下:日志輸出的目的地。日志的輸出格式。日志的輸出級別。1510.6使用commons-logging10.6.1commons-logging概述commons-logging是Apache組織下的一個開源日志項目。commons-logging在運行時能夠幫我們自動選擇適當(dāng)?shù)娜罩緦崿F(xiàn)系統(tǒng),這一點非常人性化。而且它甚至可以不需要配置就能自動選擇適當(dāng)?shù)娜罩緦崿F(xiàn)系統(tǒng)。1610.6.1commons-logging概述commons-logging在運行時:(1) 首先會在classpath下尋找自己的配置文件perties。如果找到,則會使用其中指定的Log實現(xiàn)類。(2) 如果找不到perties配置文件,則再查找是否已定義系統(tǒng)環(huán)境變量mons.logging.Log,找到則使用其定義的Log實現(xiàn)類。(3) 否則,查看classpath中是否有Log4j的包,如果發(fā)現(xiàn),則自動使用Log4j作為日志實現(xiàn)類。(4) 否則,使用JDK自身的日志實現(xiàn)類(JDK1.4以后才有日志實現(xiàn)類)。(5) 最后,如果還沒找到,就使用commons-logging自己提供的一個簡單的日志實現(xiàn)類SimpleLog。1710.6.2commons-logging的下載和環(huán)境搭建可以到/downloads/download_logging.cgi下載commons-logging包。下載頁面如圖10.11所示。單擊頁面中的“1.1.1.zip”鏈接,即可下載commons-logging-1.1.1-bin.zip到本地硬盤。解壓此文件,打開解壓后的文件夾,如圖10.12所示。1810.6.3commons-logging的使用完成以上配置之后,就可以在項目中使用commons-logging了。使用前,還需要了解它的API。在commons-logging的API中需要關(guān)注一個抽象類和一個接口。(1) mons.logging.Logpublicvoiddebug(Objectmsg)publicvoiddebug(Objectmsg,Throwablet):publicbooleanisDebugEnabled()(2) mons.logging.LogFactorypublicstaticLoggetLog(Stringname)throwsLogConfigurationExcep

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論