Android adb命令詳解及用法系列(四)

本文主要分享如何使用adb輸出開發(fā)過程中的日志信息,如有錯誤,歡迎指正。

更多Android技術(shù)分享可以關(guān)注我的Android技術(shù)圈子,也可以加入QQ群號:690347536,學習交流Android開發(fā)技能。

一、adb 輸出日志信息
  1. 基本使用:
[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 的日志
  1. 日志等級過濾:

    打印日志優(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);
    
  2. 日志輸出格式:

    • 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的消息

  3. 格式修飾符:

    • 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
  4. 查看備用日志緩沖區(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、systemcrash 緩沖區(qū)。

    更多Android技術(shù)分享可以關(guān)注我的Android技術(shù)圈子,也可以加入QQ群號:690347536,學習交流Android開發(fā)技能。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容