




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1How to use logback北航act實(shí)驗(yàn)室Copyright QOS.ch2 nThe same basic plumbing only done better. nNo revolution, only evolution.nFaster, smaller, higher gas mileage, and generally more bang for the buck.nLogback的根本構(gòu)造充分通用,可運(yùn)用于各種不同環(huán)境。目前,logback分為三個(gè)模塊:Core、Classic和Access。 nCore模塊是其他兩個(gè)模塊的根底。Classic模塊擴(kuò)展了c
2、ore模塊。Classic模塊相當(dāng)于log4j的顯著改良版。Logback-classic直接實(shí)現(xiàn)了SLF4J API,因此他可以在logback與其他記錄系統(tǒng)如log4j和java.util.logging (JUL)之間輕松相互切換。Access模塊與Servlet容器集成,提供HTTP訪(fǎng)問(wèn)記錄功能3Copyright QOS.ch4Modular architecturenlogback-corenJoran, Status,n Context, pattern parsingnlogback-classicndeveloper loggingnlogback-acces
3、sncontainer (access) loggingCopyright QOS.ch5Access LoggingnDefinition: Access lognThe log generated when a user accesses a web-page on a web server.nLogback-access integrates seamlessly with Jetty and Tomcatn Copyright QOS.ch6SLF4J in one slideCopyright QOS.ch7Logback 的三個(gè)重要組件nLogger、Appender和Layout
4、 nLogback建立于三個(gè)主要類(lèi)之上:Logger、Appender和Layout。這三種組件協(xié)同任務(wù),使開(kāi)發(fā)者可以按照音訊類(lèi)型和級(jí)別來(lái)記錄音訊,還可以在程序運(yùn)轉(zhuǎn)期內(nèi)控制音訊的輸出格式和輸出目的地。 nLogger類(lèi)是logback-classic模塊的一部分,而Appender和Layout接口來(lái)自logback-core。作為一個(gè)多用途模塊,logback-core不包含任何logger。 Appender接口里的多數(shù)方法都是getter和setting。值得留意的是doAppend()方法,它獨(dú)一的參數(shù)是類(lèi)型E的對(duì)象。類(lèi)型E的實(shí)踐類(lèi)型視logback模塊的不同而不同。 在logback
5、-classic模塊里,E能夠是“ILoggingEvent類(lèi)型;在logback-access模塊里,E能夠是“AccessEvent類(lèi)型。 Layout擔(dān)任把事件轉(zhuǎn)換成字符串。Layout接口的format()方法的參數(shù)是代表任何類(lèi)型的事件,前往字符串。Logback-classic只處置ch.qos.logback.classic.spi.ILoggingEvent類(lèi)型的事件。 Logback-access的大多數(shù)layout都改動(dòng)自logback-classic。Logback-access和logback-classic有各自的用途,但普通提供類(lèi)似的功能。 Copyright QOS
6、.ch8Copyright QOS.ch9Logback的任務(wù)原理n1. 獲得過(guò)濾鏈filter chain的斷定結(jié)果 n假設(shè)TurboFilter鏈存在,它將被調(diào)用。Turbo filters可以設(shè)置一個(gè)上下文范圍內(nèi)的臨界值,這個(gè)臨界值或者表示過(guò)濾某些與信息有關(guān)比如Marker、級(jí)別、Logger、音訊的特定事件,或者表示與每個(gè)記錄懇求相關(guān)聯(lián)的Throwable。假設(shè)過(guò)濾鏈的結(jié)果是FilterReply.DENY,那么記錄懇求被丟棄。假設(shè)結(jié)果是FilterReply.NEUTRAL,那么繼續(xù)下一步,也就是第二步。假設(shè)結(jié)果是FilterReply.ACCEPT,那么忽略過(guò)第二步,進(jìn)入第三步。
7、n2. 運(yùn)用根本選擇規(guī)那么 nLogback對(duì)logger的有效級(jí)別與懇求的級(jí)別進(jìn)展比較。假設(shè)比較的結(jié)果是記錄懇求被禁用,logback會(huì)直接丟棄懇求,不做任何進(jìn)一步處置。否那么,繼續(xù)下一步。 n3. 創(chuàng)建LoggingEvent對(duì)象 n記錄懇求到了這一步后,logback會(huì)創(chuàng)建一個(gè)ch.qos.logback.classic.LoggingEvent對(duì)象,該對(duì)象包含一切與懇求相關(guān)的參數(shù),比如懇求用的logger、懇求級(jí)別、音訊、懇求攜帶的異常、當(dāng)前時(shí)間、當(dāng)前線(xiàn)程、執(zhí)行記錄懇求的類(lèi)的各種數(shù)據(jù),還有MDC。留意有些成員是延遲初始化的,只需當(dāng)它們真正被運(yùn)用時(shí)才會(huì)被初始化。MDC用來(lái)為記錄懇求添加額
8、外的上下文信息。Copyright QOS.ch104. 調(diào)用appender 創(chuàng)建了LoggingEvent對(duì)象后,logback將調(diào)用一切可用appender的doAppend()方法,這就是說(shuō),appender承繼logger的上下文。 一切appender都承繼AppenderBase籠統(tǒng)類(lèi),AppenderBase在一個(gè)同步塊里實(shí)現(xiàn)了doAppend方以確保線(xiàn)程平安。AppenderBase的doAppender()方法也調(diào)用appender關(guān)聯(lián)的自定義過(guò)濾器,假設(shè)它們存在的話(huà)。自定義過(guò)濾器能被動(dòng)態(tài)地關(guān)聯(lián)到任何appender,另有章節(jié)專(zhuān)門(mén)講述它。5. 格式化輸出 那些被調(diào)用了的ap
9、pender擔(dān)任對(duì)記錄事件LoggingEvent進(jìn)展格式化。然而,有些但不是全部appender把格式化記錄事件的任務(wù)委托給layout。Layout對(duì)LoggingEvent實(shí)例進(jìn)展格式化,然后把結(jié)果以字符串的方式前往。留意有些appender,比如SocketAppender,把記錄事件進(jìn)展序列化而不是轉(zhuǎn)換成字符串,所以它們不需求也沒(méi)有l(wèi)ayout。6. 發(fā)送記錄事件LoggingEvent 記錄事件被格式化后,被各個(gè)appender發(fā)送到各自的目的地。 Copyright QOS.ch11整個(gè)logback流程的UML圖Copyright QOS.ch12Copyright QOS.c
10、h13Joran: a bowl of fresh airnGiven rules (patterns & actions) it can configure any object.nIts generic (can be used in your own projects)nJoran can learn new rules on the fly.nWith its implicit rules, you dont even have to write rules. nIt can do partial replay. Logback依賴(lài)Joran。Joran是個(gè)成熟、靈敏和強(qiáng)大的配
11、置框架。Logback模塊的許多才干都只能在Joran協(xié)助下實(shí)現(xiàn)。Logback的默許配置機(jī)制是調(diào)用JoranConfigurator對(duì)classpath上的默許配置文件進(jìn)展處置。不論出于什么理由,假設(shè)他想重新實(shí)現(xiàn)logback的默許配置機(jī)制的話(huà),他可以直接調(diào)用JoranConfigurator。Copyright QOS.ch14Copyright QOS.ch15Logback的一些擴(kuò)展功能SocketAppender: 到目前為止,我們討論的到目前為止,我們討論的appender都只能輸出到本地資源。而都只能輸出到本地資源。而SocketAppender被設(shè)計(jì)為經(jīng)過(guò)序列化被設(shè)計(jì)為經(jīng)過(guò)序列
12、化ILoggingEvent實(shí)例把記錄輸出到遠(yuǎn)程實(shí)體。實(shí)例把記錄輸出到遠(yuǎn)程實(shí)體。JMSAppenderBase: JMSAppenderBase類(lèi)與類(lèi)與SocketAppender完成一樣概念的義務(wù),只是基于完成一樣概念的義務(wù),只是基于JMS API而不是而不是TCP套接字。套接字。JMS即即Java音訊系統(tǒng)音訊系統(tǒng)API為面向音訊的中間件為面向音訊的中間件MOM產(chǎn)品產(chǎn)品提供籠統(tǒng)層。提供籠統(tǒng)層。JMS的一個(gè)關(guān)鍵架構(gòu)概念就是解耦音訊消費(fèi)者和音訊消費(fèi)者。發(fā)送者不的一個(gè)關(guān)鍵架構(gòu)概念就是解耦音訊消費(fèi)者和音訊消費(fèi)者。發(fā)送者不需求等待接納者處置完音訊,有音訊時(shí)接納者才會(huì)消費(fèi)音訊。這樣的音訊稱(chēng)為是異步需求等
13、待接納者處置完音訊,有音訊時(shí)接納者才會(huì)消費(fèi)音訊。這樣的音訊稱(chēng)為是異步傳送的傳送的SMTPAppender: SMTPAppender在固定大小的緩沖里積累記錄時(shí)間,當(dāng)用戶(hù)指定的事件發(fā)生后,在固定大小的緩沖里積累記錄時(shí)間,當(dāng)用戶(hù)指定的事件發(fā)生后,就經(jīng)過(guò)就經(jīng)過(guò)email發(fā)出這些事件。默許情況下,發(fā)出這些事件。默許情況下,email發(fā)送是由級(jí)別為發(fā)送是由級(jí)別為ERROR或更高級(jí)別的或更高級(jí)別的記錄事件觸發(fā)的。記錄事件觸發(fā)的。DBAppender: DBAppender把記錄事件寫(xiě)入數(shù)據(jù)庫(kù)的三張表。把記錄事件寫(xiě)入數(shù)據(jù)庫(kù)的三張表。 三張表分別是三張表分別是logging_event、logging_ev
14、ent_property和和logging_event_exception。在運(yùn)用。在運(yùn)用DBAppender之前,這三張表必需曾經(jīng)被創(chuàng)建。之前,這三張表必需曾經(jīng)被創(chuàng)建。 PatternLayout的配置方式與在logback-classic里的PatternLayout根本一樣。但它提供了一些額外的格式轉(zhuǎn)換符,適宜記錄那些只存在于HTTP servlet懇求和HTTP servlet呼應(yīng)的信息。 映射診斷環(huán)境Mapped Diagnostic Context)Logback的設(shè)計(jì)目的之一是審查和調(diào)試復(fù)雜的分布式運(yùn)用程序。真實(shí)世界的多數(shù)分布式系統(tǒng)需求同時(shí)處置多個(gè)客戶(hù)端。在一個(gè)典型的多線(xiàn)程方式實(shí)現(xiàn)的分布式系統(tǒng)里,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 2 Topic 3 Must we exercise to prevent the flu Section B 教學(xué)設(shè)計(jì) 2024-2025學(xué)年仁愛(ài)科普版英語(yǔ)八年級(jí)上冊(cè)
- 三年級(jí)語(yǔ)文下冊(cè) 第一單元 習(xí)作:我的植物朋友教學(xué)設(shè)計(jì) 新人教版
- 2017-2018年八年級(jí)心理健康教育 意志力非小事 教學(xué)設(shè)計(jì)
- 4古詩(shī)三首《山行》(教學(xué)設(shè)計(jì))2024-2025學(xué)年統(tǒng)編版語(yǔ)文三年級(jí)上冊(cè)
- 新學(xué)期班級(jí)課件
- 森林小劇場(chǎng)課件
- Unit6 Rain or Shine Section A Pronunciation 教學(xué)設(shè)計(jì) 2024-2025學(xué)年人教版英語(yǔ)七年級(jí)下冊(cè)
- 2023六年級(jí)語(yǔ)文上冊(cè) 第八單元 26 好的故事教學(xué)設(shè)計(jì) 新人教版
- 《第7課 老師您好-每當(dāng)我走過(guò)老師窗前》(教案)-人音版(2012)音樂(lè)三年級(jí)下冊(cè)
- ××崗位競(jìng)聘報(bào)告
- 竣工環(huán)境保護(hù)驗(yàn)收意見(jiàn)模板
- 英語(yǔ)詞匯的奧秘知到章節(jié)答案智慧樹(shù)2023年武漢科技大學(xué)
- 2022年初中歷史課程標(biāo)準(zhǔn)電子版
- 腔內(nèi)心電圖經(jīng)外周中心靜脈導(dǎo)管picc尖端定位技術(shù)
- 白酒基礎(chǔ)知識(shí)考試題庫(kù)300題(含單選、多選、判斷)
- The+Little+Woman英文名著《小婦人》整本書(shū)閱讀指導(dǎo)課件
- 高等學(xué)校學(xué)生學(xué)籍信息更改審批表
- 慢性胃炎中醫(yī)癥候評(píng)分表
- 學(xué)生心理健康檔案表格
- 臨時(shí)用電施工組織設(shè)計(jì)(總體)
- 2023年神東煤炭集團(tuán)招聘筆試題庫(kù)及答案解析
評(píng)論
0/150
提交評(píng)論