新聞中心
Android JDK日志可以促使移動(dòng)設(shè)備的創(chuàng)新,讓用戶體驗(yàn)到***越的移動(dòng)服務(wù),同時(shí),開(kāi)發(fā)商也將得到一個(gè)新的開(kāi)放級(jí)別,豐富的開(kāi)發(fā)環(huán)境 包括設(shè)備模擬器,調(diào)試工具,內(nèi)存及性能分析圖表,和Eclipse集成開(kāi)發(fā)環(huán)境插件。

由該類可見(jiàn),Android JDK日志抽象類提供了抽象接口:publish, flush 和 close .這些接口提供了日志輸出的基本功能。同時(shí) Handler 類保存了 Formatter,F(xiàn)ilter 和 Level 對(duì)象用來(lái)控制日志輸出。因此,編寫(xiě)自定義的 Handler 類需要如下步驟:
1、繼承 Handler 抽象類
2、實(shí)現(xiàn) publish,flush 和 close 方法。其中 publish 方法是用于發(fā)布一條日志記錄。 flush 方法是清空內(nèi)存緩沖區(qū)。 close 方法是當(dāng)應(yīng)用程序關(guān)閉的時(shí)候,釋放該 Handler 類所申請(qǐng)的資源(如文件,socket 等)
3、設(shè)置默認(rèn)的 Formatter,F(xiàn)ilter 和 Level 對(duì)象。必要的時(shí)候,可以在類的初始化時(shí)候讀取配置文件來(lái)設(shè)置這些參數(shù)。
- public class MyFormatter extends Formatter {
- private final String lineSeparator = System.getProperty("line.separator");
- @Override
- public String format(LogRecord record) {
- StringBuffer sb = new StringBuffer();
- String message = formatMessage(record);
- sb.append(record.getLevel().getLocalizedName());
- sb.append(message);
- sb.append(lineSeparator);
- if (record.getThrown() != null) {
- try {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
- record.getThrown().printStackTrace(pw);
- pw.close();
- sb.append(sw.toString());
- } catch (Exception ex) {
- }
- }
- return sb.toString();
- }
- }
這里 reportError 方法是將日志類中的錯(cuò)誤信息輸出到外界,這個(gè)是由 ErrorManager 類實(shí)現(xiàn)的ErrorManager 類負(fù)責(zé)記錄日志框架中 Handler 的錯(cuò)誤。一般情況下是將該錯(cuò)誤打印到控制臺(tái)中。
具體的每條日志消息被Android JDK日志框架封裝成 LogRecord 對(duì)象,該類部分定義如 清單所示。由清單可見(jiàn),LogRecord 類包含了一個(gè)日志消息的級(jí)別、消息文本、時(shí)間、參數(shù)、線程等等所有的信息,這些都交給 Handler,F(xiàn)ormatter 和 Filter 這些對(duì)象來(lái)處理。
同時(shí)該類也是可序列化的,可以序列化到網(wǎng)絡(luò)和文件中。該類還可以和一個(gè) ResourceBundle 對(duì)象綁定,實(shí)現(xiàn)消息字符串的本地化處理。描述了一個(gè)典型的自定義的 Handler 類的實(shí)現(xiàn)。在本文后面部分將會(huì)有一個(gè)實(shí)際的例子來(lái)介紹如何實(shí)現(xiàn)一個(gè)Android JDK日志處理類。
【編輯推薦】
- Android應(yīng)用程序組建原理深入剖析
- Android SMS短信服務(wù)相關(guān)概念簡(jiǎn)述
- PythonAndroid數(shù)據(jù)庫(kù)相關(guān)代碼解讀
- PythonAndroid安裝卸載程序具體操作方法解析
- Android應(yīng)用程序的四個(gè)關(guān)鍵點(diǎn)
當(dāng)前標(biāo)題:對(duì)AndroidJDK日志總結(jié)之談
鏈接URL:http://www.5511xx.com/article/coddssd.html


咨詢
建站咨詢
