新聞中心
JDK日志框架是什么?JDK日志框架主要功能又是什么呢?JDK日志記錄對(duì)于軟件的維護(hù)特別是對(duì)于已部署到運(yùn)行環(huán)境之后的軟件調(diào)試都有著重要的意義。本文介紹了 JDK的日志框架,以及如何根據(jù)不同需求自定義日志處理、消息格式化、消息級(jí)別等組件。***闡述了如何利用日志框架的擴(kuò)展能力將Java 程序能夠通過(guò) STAF(Software Testing Automation Framework,一種自動(dòng)化測(cè)試框架)日志服務(wù)來(lái)進(jìn)行監(jiān)視。

創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元沈北新做網(wǎng)站,已為上家服務(wù),為沈北新各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
自 Java 1.4 開(kāi)始,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í)際的例子來(lái)介紹如何結(jié)合 JDK日志框架和 STAF(Software Testing Automation Framework,一種自動(dòng)化測(cè)試框架)日志服務(wù)來(lái)對(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ò)濾冗余信息,只保留關(guān)鍵的日志。對(duì)于一個(gè)日志框架而言,日志對(duì)象必須是可配置的,它可以按照配置來(lái)輸出到指定的目標(biāo),同時(shí)按照配置來(lái)決定輸出的格式和決定何種級(jí)別以上的日志才能輸出。配置的形式還可以是多種多樣的,既能是代碼的形式,也能是配置文件的形式。尤其是配置文件的形式,對(duì)于一個(gè)已經(jīng)部署到運(yùn)行環(huán)境中的軟件而言,可以非常方便的改變?nèi)罩九渲枚鵁o(wú)需改變其源代碼。
JDK日志框架提供了上述的所有功能。它主要包括如下幾個(gè)部件:
◆Logger:日志記錄對(duì)象。用于記錄日志信息。
◆Handler:用于處理日志信息的輸出。在 Handler 類中,可以決定日志是輸出到文件中還是控制臺(tái)中。
◆Filter: 用于過(guò)濾日志。在 Filter 類中,可以根據(jù)日志級(jí)別或者某種條件來(lái)決定是否輸出該日志。這樣達(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ì)象來(lái)處理,如果日志對(duì)象配置了一個(gè) Filter 對(duì)象,那么 Filter 對(duì)象將會(huì)對(duì)日志信息做一次過(guò)濾。 Handler 對(duì)象接受到日志消息后,根據(jù)其所配置的格式化類 Formatter 來(lái)改變?nèi)罩镜母袷剑鶕?jù)所配置的 Filter 對(duì)象和 Level 對(duì)象來(lái)再次過(guò)濾日志信息,***輸出到該種 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ì)象中
JDK日志框架的相關(guān)介紹就到這里,對(duì)于JDK日志框架的使用要在實(shí)踐中多加學(xué)習(xí)糾正,同時(shí) JDK日志框架也不失其靈活性,你可以定制自己所需要的 Handler,我們?cè)谝院蟮奈恼轮袑?huì)介紹到。
文章標(biāo)題:JDK日志框架介紹及其主要功能淺析
文章分享:http://www.5511xx.com/article/cdsohgg.html


咨詢
建站咨詢
