怎么實(shí)現(xiàn)JDK日志框架及其主要功能淺析

怎么實(shí)現(xiàn)JDK日志框架及其主要功能淺析,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

創(chuàng)新互聯(lián)公司成立于2013年,先為松北等服務(wù)建站,松北等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為松北企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

下面介紹了 JDK的日志框架,以及如何根據(jù)不同需求自定義日志處理、消息格式化、消息級(jí)別等組件。最后闡述了如何利用日志框架的擴(kuò)展能力將Java 程序能夠通過 STAF(Software Testing Automation Framework,一種自動(dòng)化測(cè)試框架)日志服務(wù)來進(jìn)行監(jiān)視。

自 Java 1.4 開始,JDK包括了一個(gè)嶄新的日志框架包 java.util.logging,該日志框架設(shè)計(jì)精良,和 JDK緊密結(jié)合,控制靈活,使用簡(jiǎn)單。日志記錄對(duì)于軟件的維護(hù)特別是對(duì)于已部署到運(yùn)行環(huán)境之后的軟件調(diào)試都有著重要的意義。在實(shí)際的項(xiàng)目中,往往還需要比該框架所提供的更為復(fù)雜的日志功能。對(duì)于這種需求,JDK日志框架具有足夠的可擴(kuò)展能力,可以自定義不同需求的日志處理、消息格式化、日志消息級(jí)別等組件。在下面的內(nèi)容中,本文將介紹了如何擴(kuò)展 JDK日志框架,自定義日志處理方式。并就一個(gè)實(shí)際的例子來介紹如何結(jié)合 JDK日志框架和 STAF(Software Testing Automation Framework,一種自動(dòng)化測(cè)試框架)日志服務(wù)來對(duì) java 程序進(jìn)行監(jiān)視。

JDK日志框架介紹

JDK的日志框架即 java.util.logging 包。對(duì)于一個(gè)軟件的日志系統(tǒng)而言,首先必須得有一個(gè)日志對(duì)象,該對(duì)象負(fù)責(zé)記錄日志信息。同時(shí)該信息可以輸出到不同的位置,例如控制臺(tái),文件甚至網(wǎng)絡(luò)中。對(duì)于信息的格式,則可以根據(jù)不同的需求,可以輸出成普通文本,XML 或者 Html 的格式。同時(shí)還需要對(duì)日志信息進(jìn)行不同級(jí)別的分類,這樣的好處是可以過濾冗余信息,只保留關(guān)鍵的日志。對(duì)于一個(gè)日志框架而言,日志對(duì)象必須是可配置的,它可以按照配置來輸出到指定的目標(biāo),同時(shí)按照配置來決定輸出的格式和決定何種級(jí)別以上的日志才能輸出。配置的形式還可以是多種多樣的,既能是代碼的形式,也能是配置文件的形式。尤其是配置文件的形式,對(duì)于一個(gè)已經(jīng)部署到運(yùn)行環(huán)境中的軟件而言,可以非常方便的改變?nèi)罩九渲枚鵁o需改變其源代碼。

JDK日志框架提供了上述的所有功能。它主要包括如下幾個(gè)部件:

◆Logger:日志記錄對(duì)象。用于記錄日志信息。

◆Handler:用于處理日志信息的輸出。在 Handler 類中,可以決定日志是輸出到文件中還是控制臺(tái)中。

◆Filter: 用于過濾日志。在 Filter 類中,可以根據(jù)日志級(jí)別或者某種條件來決定是否輸出該日志。這樣達(dá)到去除冗余信息的目的。

◆Formatter:用于格式化日志信息。該類可以將日志文本格式化成 XML 或者 Html 的格式,這完全依賴于具體的實(shí)現(xiàn)。

◆Level:用于表示日志的級(jí)別。 JDK日志框架默認(rèn)有如下級(jí)別 : SEVERE,WARNING,INFO,CONFIG,F(xiàn)INE,F(xiàn)INER,F(xiàn)INEST 。

對(duì)于程序而言,它的 Logger 對(duì)象首先會(huì)判斷日志的級(jí)別是否滿足輸出級(jí)別的要求,然后將滿足級(jí)別要求的日志消息交給所配置的 Handler 對(duì)象來處理,如果日志對(duì)象配置了一個(gè) Filter 對(duì)象,那么 Filter 對(duì)象將會(huì)對(duì)日志信息做一次過濾。 Handler 對(duì)象接受到日志消息后,根據(jù)其所配置的格式化類 Formatter 來改變?nèi)罩镜母袷?,根?jù)所配置的 Filter 對(duì)象和 Level 對(duì)象來再次過濾日志信息,***輸出到該種 Handler 對(duì)象所指定的輸出位置中,該輸出位置可以是控制臺(tái),文件,網(wǎng)絡(luò) socket 甚至是內(nèi)存緩沖區(qū)。

JDK 提供了如下幾種默認(rèn)支持的 Handler 類:

◆ConsoleHandler: 輸出日志到控制臺(tái)中

◆FileHandler:輸出日志到指定文件中

◆MemoryHandler:輸出日志到內(nèi)存緩沖區(qū)中,當(dāng)一定的條件滿足的時(shí)候(如某種關(guān)鍵字的日志信息)再將緩沖區(qū)中的日志輸出

◆SocketHandler: 輸出日志到網(wǎng)絡(luò) socket 中

◆StreamHandler: 輸出日志到輸入輸出流對(duì)象中

看完上述內(nèi)容,你們掌握怎么實(shí)現(xiàn)JDK日志框架及其主要功能淺析的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

分享名稱:怎么實(shí)現(xiàn)JDK日志框架及其主要功能淺析
網(wǎng)頁地址:http://muchs.cn/article0/pieoio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、面包屑導(dǎo)航、建站公司、品牌網(wǎng)站設(shè)計(jì)網(wǎng)站排名、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營