本文我主要講解以下日誌過濾.查看. logcat中其它的命令各位可以自行去看.
如命令: adb logcat -b radio -s *:E 各項解釋如下
radio | 過濾通信系統部分的log |
main | 所有java層的log 注意: 它不包其它緩衝區的java 層 |
system | 系統組件的log |
events | event模塊的log |
crash | 看名字就知道啥意思 |
kernel | 內核日誌 可以看到 rc文件中服務啓動情況 |
default | 主要輸出 main,system,crash 三個緩衝區中的日誌 |
all | 以上所有緩衝區的日誌全部輸出 |
-s 表示設置日誌過濾
* 表示的日誌的TAG. 就是各個文件中定義的 LOG_TAG
E 表示日誌的等級 可以選擇 V, D , I , W , E , F ,S 優先級從低到高 . 假如你選擇了 W級別 那麼 V , D , I 級別日誌是不會被輸出的. 只會輸出高於等於當前所選級別的日誌. 可以用* 表示所有.
比如 我們系統輸出 TelephonyManager.java 類中的系統日誌 那麼 這樣 adb logcat -b radio -s TelephonyManager:* 注意雖然TelephonyManager.java屬於java層 但是 它本質算在通信層級.所以是 radio.
當然,我們還可以繼續在後面追加同一緩衝區的類 adb logcat -b radio -s TelephonyManager:* Phone:* 這樣就可以同時輸出兩個TAG標識的日誌.
我們也可以不加 -s 過濾. 比如直接 adb logcat -b kernel 查看當前內核的日誌輸出 !.
此外 如果想把日誌輸出到文件中 寫法如下 >後面跟上全路徑文件
adb logcat -b radio -s TelephonyManager:* >/home/developer/tel.log
另外查看手機啓動時候的內核日誌命令: adb shell dmesg