本文主要分享如何使用adb輸出開發(fā)過程中的日志信息,如有錯誤,歡迎指正。
更多Android技術(shù)分享可以關(guān)注我的Android技術(shù)圈子,也可以加入QQ群號:690347536,學習交流Android開發(fā)技能。
一、adb 輸出日志信息
- 基本使用:
[adb] logcat [options] ... [filter-spec]...
-b:加載可供查看的備用日志緩沖區(qū).
-c:清除(清空)所選的緩沖區(qū)并退出
-e <expr>/--regex:只輸出日志消息與 `<expr>` 匹配的行,其中 `<expr>` 是正則表達式
-m <count>/--max-count:輸出 `<count>` 行后退出
--print:與 `--regex` 和 `--max-count` 配對,使內(nèi)容繞過正則表達式過濾器,但仍能夠在
獲得適當數(shù)量的匹配時停止
-d:將日志轉(zhuǎn)儲到屏幕并退出
-f <filename>:將日志消息輸出寫入 `<filename>`。默認值為 `stdout`
-g:輸出指定日志緩沖區(qū)的大小并退出
-s:相當于過濾器表達式 `'*:S'`
-D:輸出各個日志緩沖區(qū)之間的分隔線
-t <time>:輸出自指定時間以來的最新行
--pid=<pid>...:僅輸出來自給定 PID 的日志
-
日志等級過濾:
打印日志優(yōu)先級從低到高順序
-
V:詳細(最低優(yōu)先級) -
D:調(diào)試 -
I:信息 -
W:警告 -
E:錯誤 -
F:嚴重錯誤 -
S:靜默(最高優(yōu)先級,絕不會輸出任何內(nèi)容)
對應(yīng)代碼
Log類記錄日志中的Log.v(String,String); Log.d(String,String); Log.i(String,String); Log.w(String,String); Log.e(String,String); -
-
日志輸出格式:
-
brief:顯示優(yōu)先級、標記以及發(fā)出消息的進程的 PID。 -
long:顯示所有元數(shù)據(jù)字段,并使用空白行分隔消息。 -
process:僅顯示 PID。 -
raw:顯示不包含其他元數(shù)據(jù)字段的原始日志消息。 -
tag:僅顯示優(yōu)先級和標記。 -
thread::舊版格式,顯示優(yōu)先級、PID 以及發(fā)出消息的線程的 TID。 -
threadtime(默認值):顯示日期、調(diào)用時間、優(yōu)先級、標記、PID 以及發(fā)出消息的線程的 TID。 -
time:顯示日期、調(diào)用時間、優(yōu)先級、標記以及發(fā)出消息的進程的 PID
eg:
adb logcat -v thread生成輸出格式為thread的消息 -
-
格式修飾符:
-
color:使用不同的顏色來顯示每個優(yōu)先級。 -
descriptive:顯示日志緩沖區(qū)事件說明。此修飾符僅影響事件日志緩沖區(qū)消息,不會對其他非二進制
文件緩沖區(qū)產(chǎn)生任何影響。事件說明取自 event-log-tags 數(shù)據(jù)庫。 -
epoch:顯示自 1970 年 1 月 1 日以來的時間(以秒為單位)。 -
monotonic:顯示自上次啟動以來的時間(以 CPU 秒為單位)。 -
printable:確保所有二進制日志記錄內(nèi)容都進行了轉(zhuǎn)義。 -
uid:如果訪問控制允許,則顯示 UID 或記錄的進程的 Android ID。 -
usec:顯示精確到微秒的時間。 -
UTC:顯示 UTC 時間。 -
year:將年份添加到顯示的時間。 -
zone:將本地時區(qū)添加到顯示的時間
格式修飾符依據(jù)以下一個或多個修飾符的任意組合更改 Logcat 輸出。如要指定格式修飾符,請使用-v選 項,如下所示
eg:adb logcat -b all -v color -d
-
-
查看備用日志緩沖區(qū):
Android 日志記錄系統(tǒng)為日志消息保留了多個環(huán)形緩沖區(qū),而且并非所有的日志消息都會發(fā)送到默認的環(huán)形緩沖區(qū)。如要查看其他日志消息,可以使用
-b選項運行logcat命令,以請求查看備用的環(huán)形緩沖區(qū)??梢圆榭聪铝腥我鈧溆镁彌_區(qū):-
radio:查看包含無線裝置/電話相關(guān)消息的緩沖區(qū)。 -
events:查看已經(jīng)過解譯的二進制系統(tǒng)事件緩沖區(qū)消息。 -
main:查看主日志緩沖區(qū)(默認),不包含系統(tǒng)和崩潰日志消息。 -
system:查看系統(tǒng)日志緩沖區(qū)(默認)。 -
crash:查看崩潰日志緩沖區(qū)(默認)。 -
all:查看所有緩沖區(qū)。 -
default:報告main、system和crash緩沖區(qū)。
更多Android技術(shù)分享可以關(guān)注我的Android技術(shù)圈子,也可以加入QQ群號:690347536,學習交流Android開發(fā)技能。
-