這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Android中如何使用 JDK日志,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)公司專注于通渭網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供通渭營銷型網(wǎng)站建設(shè),通渭網(wǎng)站制作、通渭網(wǎng)頁設(shè)計、通渭網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務(wù),打造通渭網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供通渭網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
1、繼承 Handler 抽象類
2、實現(xiàn) publish,flush 和 close 方法。其中 publish 方法是用于發(fā)布一條日志記錄。 flush 方法是清空內(nèi)存緩沖區(qū)。 close 方法是當(dāng)應(yīng)用程序關(guān)閉的時候,釋放該 Handler 類所申請的資源(如文件,socket 等)
3、設(shè)置默認的 Formatter,F(xiàn)ilter 和 Level 對象。必要的時候,可以在類的初始化時候讀取配置文件來設(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 方法是將日志類中的錯誤信息輸出到外界,這個是由 ErrorManager 類實現(xiàn)的ErrorManager 類負責(zé)記錄日志框架中 Handler 的錯誤。一般情況下是將該錯誤打印到控制臺中。
具體的每條日志消息被Android JDK日志框架封裝成 LogRecord 對象,該類部分定義如 清單所示。由清單可見,LogRecord 類包含了一個日志消息的級別、消息文本、時間、參數(shù)、線程等等所有的信息,這些都交給 Handler,F(xiàn)ormatter 和 Filter 這些對象來處理。
同時該類也是可序列化的,可以序列化到網(wǎng)絡(luò)和文件中。該類還可以和一個 ResourceBundle 對象綁定,實現(xiàn)消息字符串的本地化處理。描述了一個典型的自定義的 Handler 類的實現(xiàn)。在本文后面部分將會有一個實際的例子來介紹如何實現(xiàn)一個Android JDK日志處理類。
上述就是小編為大家分享的Android中如何使用 JDK日志了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。