Log4j使用總結(jié)(全面)一_第1頁(yè)
Log4j使用總結(jié)(全面)一_第2頁(yè)
Log4j使用總結(jié)(全面)一_第3頁(yè)
Log4j使用總結(jié)(全面)一_第4頁(yè)
Log4j使用總結(jié)(全面)一_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Log4j使用總結(jié)(全面)一    <    Log4j使用總結(jié)(全面)一一、介紹 Log4j是Apache的一個(gè)開(kāi)放源代碼項(xiàng)目,通過(guò)使用Log4j,我們可以控制日志信息輸送的目的地是控制臺(tái)、文件、GUI組件、甚至是套接口服務(wù) 器、NT的事件記錄器、UNIX Syslog守護(hù)進(jìn)程等;我們也可以控制每一條日志的輸出格式;通過(guò)定義每一條日志信息的級(jí)別,我們能夠更加細(xì)致地控制日志的生成過(guò)程,中國(guó)大學(xué)網(wǎng)范文之工作總結(jié):Log4j使用總結(jié)(全面)一。 Log4j由三個(gè)重要的組件構(gòu)成:日志信息的優(yōu)先級(jí),日志信息的輸出目的

2、地,日志信息的輸出格式。日志信息的優(yōu)先級(jí)從高到低有ERROR、WARN、 INFO、DEBUG,分別用來(lái)指定這條日志信息的重要程度;日志信息的輸出目的地指定了日志將打印到控制臺(tái)還是文件中;而輸出格式則控制了日志信息的顯示內(nèi)容。 二、配置文件 其實(shí)您也可以完全不使用配置文件,而是在代碼中配置Log4j環(huán)境。但是,使用配置文件將使您的應(yīng)用程序更加靈活。 Log4j支持兩種配置文件格式,一種是XML格式的文件,一種是properties格式的文件。下面我們介紹使用properties格式做為配置文件的方法: 示例: log4j.rootLogger=INFO, A1 log4j.appender.A

3、1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternL ayout log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %t 7c %3x - %m%n 1. 配置根Logger,其語(yǔ)法為: log4j.rootLogger = level , appenderName, appenderName, 其中,level 是日志記錄的優(yōu)先級(jí),分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定義的級(jí)別

4、。Log4j建議只使用四個(gè)級(jí)別,優(yōu)先級(jí)從高到低分別是ERROR、WARN、INFO、DEBUG。通過(guò)在這里定義的級(jí)別,您可以控制到應(yīng)用程序中相應(yīng)級(jí)別的日志信息的開(kāi)關(guān)。比如在這里定義了INFO級(jí)別,則應(yīng)用程序中所有DEBUG級(jí)別的日志信息將不被打印出來(lái)。 appenderName就是指定日志信息輸出到哪個(gè)地方。您可以同時(shí)指定多個(gè)輸出目的地。 2. 配置日志信息輸出目的地Appender,其語(yǔ)法為: log4j.appender.appenderName = .of.appender.class log4j.appender.appenderName.opt

5、ion1 = value1 log4j.appender.appenderName.option = valueN 其中,Log4j提供的appender有以下幾種: org.apache.log4j.ConsoleAppender(控制臺(tái)), org.apache.log4j.FileAppender(文件), org.apache.log4j.DailyRollingFileAppender(每天產(chǎn)生一個(gè)日志文件), org.apache.log4j.RollingFileAppender(文件大小到達(dá)指定尺寸的時(shí)候產(chǎn)生一個(gè)新的文件), org.apache.log4j.WriterApp

6、ender(將日志信息以流格式發(fā)送到任意指定的地方) (1).ConsoleAppender選項(xiàng) Threshold=WARN:指定日志消息的輸出最低層次。 ImmediateFlush=true:默認(rèn)值是true,意謂著所有的消息都會(huì)被立即輸出。 Target=System.err:默認(rèn)情況下是:System.out,指定輸出控制臺(tái) (2).FileAppender 選項(xiàng) Threshold=WARN:指定日志消息的輸出最低層次。 ImmediateFlush=true:默認(rèn)值是true,意謂著所有的消息都會(huì)被立即輸出。 File=mylog.txt:指定消息輸出到mylog.txt文件。

7、Append=false:默認(rèn)值是true,即將消息增加到指定文件中,false指將消息覆蓋指定的文件內(nèi)容。 (3).DailyRollingFileAppender 選項(xiàng) Threshold=WARN:指定日志消息的輸出最低層次。 ImmediateFlush=true:默認(rèn)值是true,意謂著所有的消息都會(huì)被立即輸出。 File=mylog.txt:指定消息輸出到mylog.txt文件。 Append=false:默認(rèn)值是true,即將消息增加到指定文件中,false指將消息覆蓋指定的文件內(nèi)容。 DatePattern=.'yyyy-ww:每周滾動(dòng)一次文件,即每周產(chǎn)生一個(gè)新的文件。

8、當(dāng)然也可以指定按月、周、天、時(shí)和分。即對(duì)應(yīng)的格式如下: 1).'yyyy-MM: 每月 2).'yyyy-ww: 每周 3).'yyyy-MM-dd: 每天 4).'yyyy-MM-dd-a: 每天兩次 5).'yyyy-MM-dd-HH: 每小時(shí) 6).'yyyy-MM-dd-HH-mm: 每分鐘 (4).RollingFileAppender 選項(xiàng) Threshold=WARN:指定日志消息的輸出最低層次,工作總結(jié)Log4j使用總結(jié)(全面)一()。 ImmediateFlush=true:默認(rèn)值是true,意謂著所有的消息都會(huì)被立即輸出。 F

9、ile=mylog.txt:指定消息輸出到mylog.txt文件。 Append=false:默認(rèn)值是true,即將消息增加到指定文件中,false指將消息覆蓋指定的文件內(nèi)容。 MaxFileSize=100KB: 后綴可以是KB, MB 或者是 GB. 在日志文件到達(dá)該大小時(shí),將會(huì)自動(dòng)滾動(dòng),即將原來(lái)的內(nèi)容移到mylog.log.1文件。 MaxBackupIndex=2:指定可以產(chǎn)生的滾動(dòng)文件的最大數(shù)。 3. 配置日志信息的布局,其語(yǔ)法為: log4j.appender.appenderName.layout = .of.layout.class lo

10、g4j.appender.appenderName.layout.option1 = value1 log4j.appender.appenderName.layout.option = valueN 其中,Log4j提供的layout有以下幾種: org.apache.log4j.HTMLLayout(以HTML表格形式布局), org.apache.log4j.PatternLayout(可以靈活地指定布局模式), org.apache.log4j.SimpleLayout(包含日志信息的級(jí)別和信息字符串), org.apache.log4j.TTCCLayout(包含日志產(chǎn)生的時(shí)間、線(xiàn)程

11、、類(lèi)別等等信息) 4、輸出格式設(shè)置 在配置文件中可以通過(guò)log4j.appender.A1.layout.ConversionPattern設(shè)置日志輸出格式。 參數(shù): %p: 輸出日志信息優(yōu)先級(jí),即DEBUG,INFO,WARN,ERROR,F(xiàn)ATAL, %d: 輸出日志時(shí)間點(diǎn)的日期或時(shí)間,默認(rèn)格式為ISO8601,也可以在其后指定格式,比如:%dyyy MMM dd HH:mm:ss,SSS,輸出類(lèi)似:2002年10月18日 22:10:28,921 %r: 輸出自應(yīng)用啟動(dòng)到輸出該log信息耗費(fèi)的毫秒數(shù) %c: 輸出日志信息所屬的類(lèi)目,通常就是所在類(lèi)的全名 %t: 輸出產(chǎn)生該日志事件的線(xiàn)程名

12、 %l: 輸出日志事件的發(fā)生位置,相當(dāng)于%C.%M(%F:%L)的組合,包括類(lèi)目名、發(fā)生的線(xiàn)程,以及在代碼中的行數(shù)。舉例:Testlog4.main(TestLog4.java:10) %x: 輸出和當(dāng)前線(xiàn)程相關(guān)聯(lián)的NDC(嵌套診斷環(huán)境),尤其用到像java servlets這樣的多客戶(hù)多線(xiàn)程的應(yīng)用中。 %: 輸出一個(gè)”%”字符 %F: 輸出日志消息產(chǎn)生時(shí)所在的文件名稱(chēng) %L: 輸出代碼中的行號(hào) %m: 輸出代碼中指定的消息,產(chǎn)生的日志具體信息 %n: 輸出一個(gè)回車(chē)換行符,Windows平臺(tái)為”rn”,Unix平臺(tái)為”n”輸出日志信息換行 可以在%與模式字符之間加上修飾符來(lái)控制其最小寬度、最大

13、寬度、和文本的對(duì)齊方式。如: 1) c:指定輸出category的名稱(chēng),最小的寬度是20,如果category的名稱(chēng)小于20的話(huà),默認(rèn)的情況下右對(duì)齊。 2)%-20c:指定輸出category的名稱(chēng),最小的寬度是20,如果category的名稱(chēng)小于20的話(huà),”-”號(hào)指定左對(duì)齊。 3)%.30c:指定輸出category的名稱(chēng),最大的寬度是30,如果category的名稱(chēng)大于30的話(huà),就會(huì)將左邊多出的字符截掉,但小于30的話(huà)也不會(huì)有空格。 4) .30c:如果category的名稱(chēng)小于20就補(bǔ)空格,并且右對(duì)齊,如果其名稱(chēng)長(zhǎng)于30字符,就從左邊交遠(yuǎn)銷(xiāo)出的字符截掉。 三、在程序中的使用 在程序中使用

14、Log4j之前,首先要將commons-logging.jar和logging-log4j-1.2.9.jar導(dǎo)入到classpath中,并將perties放于src根目錄中。接下來(lái)就可以使用了。 1.得到記錄器 使用Log4j,第一步就是獲取日志記錄器,這個(gè)記錄器將負(fù)責(zé)控制日志信息。其語(yǔ)法為: public static Logger getLogger( String name), 通過(guò)指定的名字獲得記錄器,如果必要的話(huà),則為這個(gè)名字創(chuàng)建一個(gè)新的記錄器。Name一般取本類(lèi)的名字,比如: static Logger logger = Logger.getLogger ( S

15、erverWithLog4j.class.getName () ) ; 注:推薦使用commons-logging結(jié)合log4j進(jìn)行日志記錄 private static Log logger = LogFactory.getLog(Yourclass.class); 2.插入記錄信息(格式化日志信息) 當(dāng)上兩個(gè)必要步驟執(zhí)行完畢,您就可以輕松地使用不同優(yōu)先級(jí)別的日志記錄語(yǔ)句插入到您想記錄日志的任何地方,其語(yǔ)法如下: Logger.debug ( Object message ) ; L ( Object message ) ; Logger.warn ( Object message

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論