編輯:高級開發
全球為數眾多的移動電話用戶從未使用過任何基於android JDK 日志框架,谷歌的目標是讓不依賴於設備甚至平台,希望大家看完本文能給大家帶來相關幫助。
日志記錄對於軟件的維護特別是對於已部署到運行環境之後的軟件調試都有著重要的意義。在實際的項目中,往往還需要比該框架所提供的更為復雜的日志功能。對於這種需求,JDK 日志框架具有足夠的可擴展能力,可以自定義不同需求的日志處理、消息格式化、日志消息級別等組件。
在下面的內容中,本文將介紹了如何擴展 android JDK 日志框架,自定義日志處理方式。並就一個實際的例子來介紹如何結合 android JDK 日志框架和 STAF(Software Testing Automation Framework,一種自動化測試框架)日志服務來對 Java 程序進行監視。
JDK 的日志框架即 Java.util.logging 包。對於一個軟件的日志系統而言,首先必須得有一個日志對象,該對象負責記錄日志信息。同時該信息可以輸出到不同的位置,例如控制台,文件甚至網絡中。對於信息的格式,則可以根據不同的需求,可以輸出成普通文本,XML 或者 Html 的格式。
同時還需要對日志信息進行不同級別的分類,這樣的好處是可以過濾冗余信息,只保留關鍵的日志。對於一個日志框架而言。日志對象必須是可配置的,它可以按照配置來輸出到指定的目標,同時按照配置來決定輸出的格式和決定何種級別以上的日志才能輸出。
配置的形式還可以是多種多樣的,既能是代碼的形式,也能是配置文件的形式。尤其是配置文件的形式,對於一個已經部署到運行環境中的軟件而言,可以非常方便的改變日志配置而無需改變其源代碼。
日志框架提供了上述的所有功能。它主要包括如下幾個部件:
Logger:日志記錄對象。用於記錄日志信息。Handler:用於處理日志信息的輸出。在 Handler 類中,可以決定日志是輸出到文件中還是控制台中。Filter: 用於過濾日志。在 Filter 類中,可以根據日志級別或者某種條件來決定是否輸出該日志。這樣達到去除冗余信息的目的。
Formatter:用於格式化日志信息。該類可以將日志文本格式化成 XML 或者 Html 的格式,這完全依賴於具體的實現。Level:用於表示日志的級別。android JDK 日志框架默認有如下級別 : SEVERE,WARNING,INFO,CONFIG,FINE,FINER,FINEST 。
對於程序而言,它的 Logger 對象首先會判斷日志的級別是否滿足輸出級別的要求,然後將滿足級別要求的日志消息交給所配置的 Handler 對象來處理,如果日志對象配置了一個 Filter 對象。那麼 Filter 對象將會對日志信息做一次過濾。 Handler 對象接受到日志消息後,根據其所配置的格式化類 Formatter 來改變日志的格式。
根據所配置的 Filter 對象和 Level 對象來再次過濾日志信息,最後輸出到該種 Handler 對象所指定的輸出位置中,該輸出位置可以是控制台,文件,網絡 socket 甚至是內存緩沖區。其架構模型如圖:
移動開發已經毫無爭議地成為軟件領域的發展趨勢,嶄新的領域和模式不僅僅為各個廠商,也會普通的開發者打開了一扇阿裡巴巴之門。本文摘取自台灣知名技術專家,台灣公認的“OO教父
android智能手機上市等因素的影響下,全球移動上網用戶和使用量正快速增長。與此同時,android的移動網絡流量市場份額也是節節攀升,iPhone占全球移動網絡流量
此變量)PATHPath使得系統可以在任何路徑下識別Java命令,設為: %JAVA_HOME%\bin;%Java_HOME%\jre\binCLASSPATHCLA
2010年10月25日,美國電腦軟件公司Adobe在 Adobe MAX 開發者大會上他們發布最新版本 Air 2.5(跨操作系統的運行時庫)。Adobe同時宣布將與