編輯:關於Android編程
Android 開發的程序員開發程序的時候,一定為log而苦惱過吧。Eclipse老是Log找不到,是不是很讓人不爽,雖然Android Studio的Logcat功能很不錯,但也沒有在命令行terminal中打印出來更方便。
使用 logcat 命令
查看和跟蹤系統日志緩沖區的命令logcat的一般用法是:
[adb] logcat [<option>] ... [<filter-spec>] ...
下文介紹過濾器和命令選項,詳細內容可參見Listing of logcat Command Options。
可以在開發機中通過遠程shell的方式使用logcat命令查看日志輸出:
$ adb logcat
如果是在遠程shell中可直接使用命令:
# logcat
過濾日志輸出
每一條日志消息都有一個標記和優先級與其關聯。
標記是一個簡短的字符串,用於標識原始消息的來源 (例如"View" 來源於顯示系統)。
優先級是下面的字符,順序是從低到高:
V — 明細 (最低優先級)
D — 調試
I — 信息
W — 警告
E — 錯誤
F — 嚴重錯誤
S — 無記載 (最高優先級,沒有什麼會被記載)
通過運行logcat ,可以獲得一個系統中使用的標記和優先級的列表,觀察列表的前兩列,給出的格式是<priority>/<tag>。
這裡是一個日志輸出的消息,優先級是“I”,標記是“ActivityManager”:
I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...}
如果想要減少輸出的內容,可以加上過濾器表達式進行限制,過濾器可以限制系統只輸出感興趣的標記-優先級組合。
過濾器表達式的格式是tag:priority ... ,其中tag是標記, priority是最小的優先級, 該標記標識的所有大於等於指定優先級的消息被寫入日志。也可以在一個過濾器表達式中提供多個這樣的過濾,它們之間用空格隔開。
下面給出的例子是僅輸出標記為“ActivityManager”並且優先級大於等於“Info”和標記為“MyApp”並且優先級大於等於“Debug”的日志:
adb logcat ActivityManager:I MyApp:D *:S
上述表達式最後的 *:S 用於設置所有標記的日志優先級為S,這樣可以確保僅有標記為“View”(譯者注:應該為ActivityManager,原文可能是筆誤)和“MyApp”的日志被輸出,使用 *:S 是可以確保輸出符合指定的過濾器設置的一種推薦的方式,這樣過濾器就成為了日志輸出的“白名單”。
下面的表達是顯示所有優先級大於等於“warning”的日志:
adb logcat *:W
如果在開發用電腦上運行 logcat (相對於運行運程shell而言),也可以通過ANDROID_LOG_TAGS環境變量設置默認的過濾器表達式:
export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S"
需要注意的是,如果是在遠程shell或是使用adb shell logcat 命令運行logcat , ANDROID_LOG_TAGS 不會導出到模擬器或手機設備上。
控制日志格式
日志消息在標記和優先級之外還有很多元數據字段,這些字段可以通過修改輸出格式來控制輸出結果, -v 選項加上下面列出的內容可以控制輸出字段:
brief — 顯示優先級/標記和原始進程的PID (默認格式)
process — 僅顯示進程PID
tag — 僅顯示優先級/標記
thread — 僅顯示進程:線程和優先級/標記
raw — 顯示原始的日志信息,沒有其他的元數據字段
time — 顯示日期,調用時間,優先級/標記,PID
long —顯示所有的元數據字段並且用空行分隔消息內容
可以使用 -v啟動 logcat來控制日志格式:
[adb] logcat [-v <format>]
例如使用 thread 輸出格式:
adb logcat -v thread
注意只能在 -v 選項中指定一種格式。
Viewing Alternative Log Buffers
Android日志系統為日志消息保持了多個循環緩沖區,而且不是所有的消息都被發送到默認緩沖區,要想查看這些附加的緩沖區,可以使用-b 選項,以下是可以指定的緩沖區:
radio — 查看包含在無線/電話相關的緩沖區消息
events — 查看事件相關的消息
main — 查看主緩沖區 (默認緩沖區)
-b 選項的用法:
[adb] logcat [-b <buffer>]
例如查看radio緩沖區:
adb logcat -b radio
adb logcat簡單舉例:
1、導入日志到sd卡
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
在android的應用層中,涉及到很多應用框架,例如:Service框架,Activity管理機制,Broadcast機制,對話框框架,標題欄框架,狀態欄框架,通知機制,
最近在android上用opencv搞人臉識別的 現在簡單展示下代碼。環境搭建我前面有寫,不會的自己看可以。 這個事用java api直接調用的更簡單了就,搭建都不需要直
RecyclerView出現已經有一段時間了,相信大家肯定不陌生了,大家可以通過導入support-v7對其進行使用。 據官方的介紹,該控件用於在有限的窗口中展示大量數據
上篇給大家介紹QQ5.0側滑菜單的視頻課程,對於側滑的時的動畫效果的實現有了新的認識,似乎打通了任督二脈,目前可以實現任意效果的側滑菜單了,感謝鴻洋大大!!用的是Hori
今天拿到一個客戶新的訂單需求,大概有40多個需求,今天先講更改系統的藍牙