目錄
抓包步驟
步驟 1: 獲取應用的包名
步驟 2: 查看單個應用的日志
步驟 3: 使用日志級別過濾器
步驟 4: 高級日志過濾
可能的原因:
解決方案:
額外提示:
日志保存
抓包步驟
連接設備
adb devices
步驟 1: 獲取應用的包名
首先,找到你想要查看日志的應用的 包名。你可以通過以下命令獲取已安裝應用的包名列表:
adb shell pm list packages -3
例如,某個應用的包名可能是 com.example.myapp
。
步驟 2: 查看單個應用的日志
你可以通過 過濾包名 的方式,僅查看該應用的日志。命令格式如下:
adb logcat --pid=$(adb shell pidof <package_name>)
將 <package_name>
替換為目標應用的包名。例如:
adb logcat --pid=$(adb shell pidof com.example.myapp)
這樣會過濾出該應用的日志,顯示與該應用相關的所有日志信息。
如果以上格式無法使用子命令
adb shell pidof com.fuying.pets
假設返回值是 1234
。
步驟 3: 使用日志級別過濾器
如果你只想查看應用的 錯誤日志,可以結合日志級別進行過濾。你可以使用 *:E
來顯示錯誤級別的日志,格式如下:
adb logcat --pid=$(adb shell pidof com.example.myapp) '*:E'
adb logcat -v threadtime --pid=1234 '*:E'
這將只顯示應用的錯誤日志。
步驟 4: 高級日志過濾
你還可以結合包名和日志過濾器來只顯示某些日志類型。以下是一些常見的日志過濾級別:
-
V - Verbose: 顯示所有日志。
-
D - Debug: 調試日志。
-
I - Info: 顯示信息級別的日志。
-
W - Warning: 顯示警告。
-
E - Error: 顯示錯誤日志。
-
F - Fatal: 顯示致命錯誤日志。
你可以使用如下命令同時指定包名和日志級別:
adb logcat -v threadtime --pid=$(adb shell pidof com.example.myapp) '*:E'
這樣你就可以看到指定應用的 錯誤級別 日志,結合 時間戳 信息。
可能的原因:
-
日志級別過濾
'*:E'
可能在 Windows 環境中沒有正確應用,導致依然顯示其他級別的日志。
解決方案:
你可以嘗試使用更明確的日志過濾方式,強制只顯示 錯誤級別 日志。使用以下命令,明確指定你只希望捕獲的日志類型:
adb logcat --pid=31274 '*:S' '*:E'
這里的 *:S
表示將所有其他日志級別靜默,僅保留 *:E
錯誤日志。
額外提示:
如果你依然看到非錯誤級別的日志,可以確認日志系統是否有特定的 TAG
或者 Log Level
沒有被準確過濾掉。如果需要針對特定的日志標識 (TAG),也可以使用類似的過濾器,如:
adb logcat --pid=31274 'imsdk:E' '*:S'
這將只顯示 imsdk
TAG 下的 錯誤級別 日志。
日志保存
adb logcat -v threadtime --pid=31274 'imsdk:E' '*:S' >D:\FF\log.txt