Eclipse下Logcat顯示Android日誌攻略一

在開發Android應用程序時,經常要用到日誌查看工具Logcat。Logcat工具內置在Android系統中,可以通過Eclipse的窗口或主機上的adb logcat命令來查看運行在模擬機/真機上的日誌。關於Logcat的學習,我把它分成了兩部分內容:一部分是如何使用,分爲在GUI界面下的使用和直接使用adb logcat;另一部分是Logcat源代碼簡要分析。本文將重點介紹如何使用Logcat。


怎樣過濾日誌?

沒有過濾的Logcat,All message(no filters)顯示的信息如下:

Level Time PID TID Application Tag Text
日誌級別 時間 進程id 線程id 應用程序名(包名) 過濾標籤 輸出信息

-

方案 I. 定製日誌過濾器

可以選擇日誌級別,也可以設置過濾標籤,例如在by Log Tag中輸入正則表達式:

^(?!.*(MyTag)).*$

MyTag表示需要過濾的Tag黑名單,例如:

^(?!.*(System.err|dalvik|MyTag1|Mytag2|…|MyTagn)).*$

這裏寫圖片描述

方案 II. 在Logcat窗口過濾

直接在Logcat窗口的Search for message欄輸入正則表達式,MyTag表示需要過濾的Tag黑名單:

tag:^(?!.*(MyTag1|MyTag2|…|MyTagn)).*$

方案 III. 使用adb logcat

最簡單的就是使用adb通過管道使用grep過濾,通過grep強大的正則表達式匹配某段字符串,例如:

adb logcat | grep MyFilterInfo

MyFilterInfo是需要過濾的log白名單(和Tag黑名單不同,log白名單可以過濾所有欄而不僅僅是Tag欄)


怎樣保存日誌?

和過濾日誌一樣,保存也分爲Eclipse下使用Logcat窗口和直接使用adb logcat指令

方案 I. (Eclipse下)選中要保存的日誌並點擊保存按鈕

方案 II. adb logcat

該方法是阻塞的,即只要不關閉adb,MyLog文件中的日誌就會實時更新並保存。查看文件可以通過Mac下的控制檯.app。

adb logcat > MyLog

在交互式的shell環境下保存日誌,方法非阻塞,日誌也可以通過文本編輯.app查看,所以也可以保存成MyLog.txt

adb shell logcat > MyLog

以上方法,日誌的保存路徑都可以自定義,例如

adb logcat > /Users/Elsa/Eclipse/MyLog

adb logcat 還有更多強大的功能,例如設置日誌輸出格式、清空日誌緩存、輸出最近日誌、過濾指定標籤/等級日誌等。Ubuntu下使用adb logcat顯示Android日誌 一文給出了許多用法示例,想深入學習的話可以參考。

發佈了37 篇原創文章 · 獲贊 15 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章