使用 Logcat 顯示和過濾

在命令列上顯示預設緩衝區中的所有日誌可以通過以下方式完成:

adb logcat

此命令將顯示裝置主緩衝區中的所有日誌。請注意,如果你是第一次使用它,你將獲得大量資訊,即大量資料。所以你可能想先清除日誌……

清理日誌:

adb logcat -c

這將清除日誌,並重新開始。

顯示備用緩衝區

除主緩衝區外還有另外兩個緩衝區,可以顯示如下:

adb logcat -b buffer_name

其中 buffer_name 是以下之一:

  • radio - 檢視包含與無線電/電話相關的訊息的緩衝區。
  • events - 檢視包含與事件相關的訊息的緩衝區。
  • main - 檢視主日誌緩衝區(預設)

過濾日誌輸出

Logcat 日誌得到了所謂的級別:

V - 詳細, D - 除錯, I - 資訊, W - 警告, E - 錯誤, F - 致命, S - 無聲

應用程式使用這些日誌功能時指定這些級別:

Log.v(); // Verbose
Log.d(); // Debug
Log.i(); // Info
Log.w(); // Warning
Log.e(); // Error

如果你的程式碼日誌呼叫是:

Log.i("MainActivtyTag", "Showing the very first fragment");

在 logcat 中你會看到這個輸出:

07-27 11:34:21.027 I MainActivtyTag 66 : Showing the very first fragment

所以,這是日誌約定:

<timestamp> <logLevel> <tag> <line> : <messge>

例如,如果要顯示具有致命(F)級別的所有日誌:

adb logcat *:F

* 是一種叫做外卡的東西 - 代表所有包名

按應用程式包名稱過濾

由於包名稱保證是唯一的,因此你可以按包名過濾 logcat,當然你可以將它與 Level 過濾器結合使用:

adb logcat <package name>:<log level>

對於退出/中斷過程 - 按 Ctrl + X