Ⅰ 如何過濾 adb logcat 命令的輸出
adb logcat命令查看並過濾android輸出 cmd命令行中使用adb logcat命令查看android系統和應用的log,dos窗口按ctrl+c中斷輸出log記錄。 logcat日誌中的優先順序/tag標記: android輸出的每一條日誌都有一個標記和優先順序與其關聯。 優先順序是下面的字元,順序是從低到高: V — 明細 verbose(最低優先順序) D — 調試 debug I — 信息 info W — 警告 warn E — 錯誤 error F — 嚴重錯誤 fatal S — 無記載 silent 標記是一個簡短的字元串,用於標識原始消息的來源。如下是一個日誌輸出的消息,優先順序是「D」,標記是「PowerManagerService」: D/PowerManagerService( 305): onSensorChanged: light value: 306.0 使用logcat命令查看android日誌輸出: adb logcat //顯示全部日誌 adb logcat > c:\test.log //將日誌保存到文件test.log 根據tag標記和級別過濾日誌輸出: 僅輸出標記為「ActivityManager」且優先順序大於等於「Info」和標記為「PowerManagerService」並且優先順序大於等於「Debug」的日誌: adb logcat ActivityManager:I PowerManagerService:D *:S 註:*:S用於設置所有標記的日誌優先順序為S,這樣可以確保僅輸出符合條件的日誌。 adb logcat *:W //顯示所有優先順序大於等於「warning」的日誌 adb logcat -s PowerManagerService //顯示PowerManagerService的日誌信息 Logcat命令列表: -d 將日誌顯示在控制台後退出 -c 清理已存在的日誌 -f <filename> 將日誌輸出到文件 adb logcat -f /sdcard/test.txt -v <format>設置日誌輸入格式控制輸出欄位,默認的是brief格式 brief — 顯示優先順序/標記和原始進程的PID (默認格式) process — 僅顯示進程PID tag — 僅顯示優先順序/標記 thread — 僅顯示進程:線程和優先順序/標記 raw — 顯示原始的日誌信息,沒有其他的元數據欄位 time — 顯示日期,調用時間,優先順序/標記,PID long —顯示所有的元數據欄位並且用空行分隔消息內容 adb logcat -v thread //使用 thread 輸出格式 注意-v 選項中只能指定一種格式。 -b <buffer>載入一個可使用的日誌緩沖區供查看,默認值是main。 radio — 查看包含在無線/電話相關的緩沖區消息 events — 查看事件相關的消息 main — 查看主緩沖區 (默認緩沖區) adb logcat -b radio //查看radio緩沖區
Ⅱ android logcat怎麼獲取某個進程的日誌
在logcat視圖來中點擊+號
Ⅲ android 怎麼使用應用的包名通過logcat命令來過濾某個應用的日誌
先通過windows cmd 進入adb shell,再輸入logcat|grepxxx
1、先進入adbshell。
Ⅳ android logcat 輸出日誌時,怎麼通過級別來過濾日誌,比如只顯示出I級別的日誌,而不是顯示I級別以上的。
控制台來,還是在Eclipse上的Logcat視圖?
1、如源果是控制台,可以在控制台輸入:adb logcat -s "*:I"
2、如果是在Eclipse上的Logcat視圖,可以選擇filter的級別為「info」
-------------------------------------------------------------
更多疑問解答,盡在@安卓互助平台 新浪微博
Ⅳ 如何獲取 android 的系統日誌 logcat
直接在命令行重定向即可將logcat中輸出的日誌保存到文件中。
android開發中如果如果要將logcat中輸出信回息的保答存到文件中,按以下步驟:
1. 示例1: adb logcat > /sdcard/mylogcat.txt,表示將logcat的輸出重定向到/sdcard/mylogcat.txt文件中。
2. 示例2: db logcat > D:/Temp/1.txt(1.txt必須存在,才能寫入logcat內容),表示將logcat輸出的日誌保存到電腦D盤Temp目錄下的1.txt中。
Ⅵ android 怎麼使用應用的包名通過logcat命令來過濾某個應用的日誌
過濾條件是可以增加的,tag上寫上自己的報名,就可以過濾了。
Ⅶ 怎麼用eclipse還有logcat命令的過濾log信息
1. 只顯示需要的輸出,白名單
最方便的當然是通過管道使用 grep 過濾了,這樣可以使用 grep 強大的正則表達式匹配。簡單的匹配一行當中的某個字元串,例如 MyApp:
adb logcat | grep MyApp
adb logcat | grep -i myapp #忽略大小寫。
adb logcat | grep --color=auto -i myapp #設置匹配字元串顏色。更多設置請查看 grep 幫助。
進階一點可以使用 grep 的正則表達式匹配。例如上一個例子會匹配一行中任意位置的 MyApp,可以設置為僅匹配 tag。默認的 log 輸出如下,如果修改過輸出格式相應的表達式也要修改。
I/CacheService( 665): Preparing DiskCache for all thumbnails.
可以看出 tag 是一行開頭的第三個字元開始,根據這點寫出表達式:
adb logcat | grep "^..MyApp"
根據這個格式也可以設置只顯示某個優先順序的 log,再匹配行首第一個字元即可。例如僅顯示 Error 級別 tag 為 MyApp 的輸出:
adb logcat | grep "^E.MyApp"
當然也可以匹配多個,使用 | 分割多個匹配表達式,要加轉義符。例如要匹配 tag 為 MyApp 和 MyActivity 的輸出:
adb logcat | grep "^..MyApp\|^..MyActivity"
adb logcat | grep -E "^..MyApp|^..MyActivity" #使用 egrep 無須轉義符
2. 過濾不需要的輸出,黑名單
還是使用 grep,用法也跟上面的一樣,加一個 -v 即可。例如要過濾 tag 為 MyApp 和 MyActivity 的輸出:
adb logcat | grep -v "^..MyApp\|^..MyActivity"
adb logcat | grep -vE "^..MyApp|^..MyActivity" #使用 egrep 無須轉義符
3. 顯示同一個進程的所有輸出
有時一個程序裡面的 tag 有多個,需要輸出該程序(同一個 PID)的所有 tag;僅使用 tag 過濾有時也會漏掉一些錯誤信息,而一般錯誤信息也是和程序同一個 PID。還是通過 grep 實現,思路是先根據包名找到 pid 號,然後匹配 pid。寫成 shell 腳本如下,參數是程序的 java 包名(如 com.android.media)。
查看源代碼列印幫助\
#!/bin/bash
packageName=$1
pid=`adb shell ps | grep $packageName | awk '{print $2}'`
adb logcat | grep --color=auto $pid
4. 從當前開始顯示
logcat 有緩存,如果僅需要查看當前開始的 log,需要清空之前的。adb logcat -c && adb logcat
5. 過濾 log 文件
有時需要分析 log 文件,過濾 log 文件還是使用 grep。例如 log 文件為 myapp.log,要匹配 tag 為 MyApp 和 MyActivity 的輸出,然後輸出到 newmyapp.log:cat myapp.log | grep "^..MyApp\|^..MyActivity" > newmyapp.log
Windows 下推薦使用 Notepad++,一個免費強大的記事本,支持正則表達式查找替換。可以高亮顯示匹配內容,也可以刪除不需要的內容。
以上的技巧主要用到了 grep,其實 logcat 本身也有過濾功能,可以根據 tag、優先順序過濾 log,具體請參考 Android 官方文檔 Reading and Writing Logs。如果喜歡使用圖形界面,請參考 Using DDMS,DDMS 裡面的 logcat 也可以同樣過濾。
Ⅷ eclipse怎樣使用logcat日誌調試安卓程序
1,開發方式,在eclipse中的windows中的show View中的other ,然後,打開other對話框,選擇android中,找到logcat即可。在狀態版欄或者右側可權以找到logcat的圖標。
2,使用方法,可以使用Log.i("exp",e.toString());這樣的方式來給自己的應用大bug信息。
3,然後,查看logcat中的tag,和text描述。就可以查看到錯誤產生的原因了。
4,當然這只是最簡單的使用,一般調試信息非常的多,可能只是希望看到自己想看到信息,這個時候,可以使用filter過濾一下信息。選擇logcat的組面板上的+信息。
5,在這里可以對於tag賦值,然後查看使用到的log信息,這樣過濾到的信息,就是自己正在調試的信息。
Ⅸ 如何抓取android logcat日誌
您好,很高興抄為您解答。
1,安裝襲SDK(參考android sdk環境安裝)
2,使用數據線鏈接手機,在手機助手的sdcard中建立一個1.log的文件
3,程序運行cmd
4,輸入抓取命令:logcat -s '*:E' > /mmt/sdcard/1.log
5,使用手機崩潰一次
6,查看日誌抓取文件,分不清楚是那個時間段所造成的後果
7,加入命令:-v time 就會顯示出時間
8,輸入命令logcat -v time -s '*:E' > /mmt/sdcard/1.log
9,查看結果
如若滿意,請點擊右側【採納答案】,如若還有問題,請點擊【追問】
希望我的回答對您有所幫助,望採納!
~ O(∩_∩)O~
Ⅹ android 如何用cmd方法查看logcat呀
使用cmd命令查看logcat
使用adb logcat命令可查看android系統和應用的log
adb logcat //顯示全部日誌
adb logcat > c: est.log //將日誌輸出保存到文件test.log
logcat日誌中的優先順序/tag標記:
android輸出的每一條日誌都有一個標記和優先順序與其關聯。
優先順序是下面的字元,順序是從低到高:
V — 明細 verbose(最低優先順序)
D — 調試 debug
I — 信息 info
W — 警告 warn
E — 錯誤 error
F — 嚴重錯誤 fatal
S — 無記載 silent
標記是一個簡短的字元串,用於標識原始消息的來源。如下是一個日誌輸出的消息,優先順序是「D」,標記是「PowerManagerService」:
D/PowerManagerService( 305): onSensorChanged: light value: 306.0
可根據tag標記和級別過濾日誌輸出:
僅輸出標記為「ActivityManager」且優先順序大於等於「Info」和標記為「PowerManagerService」並且優先順序大於等於「Debug」的日誌:
adb logcat ActivityManager:I PowerManagerService:D *:S
註:*:S用於設置所有標記的日誌優先順序為S,這樣可以確保僅輸出符合條件的日誌。
adb logcat *:W //顯示所有優先順序大於等於「warning」的日誌
adb logcat -s PowerManagerService //顯示PowerManagerService的日誌信息
Logcat命令列表:
-d 將日誌顯示在控制台後退出
-c 清理已存在的日誌
-f <filename> 將日誌輸出到文件
adb logcat -f /sdcard/test.txt
-v <format>設置日誌輸入格式控制輸出欄位,默認的是brief格式
brief — 顯示優先順序/標記和原始進程的PID (默認格式)
process — 僅顯示進程PID
tag — 僅顯示優先順序/標記
thread — 僅顯示進程:線程和優先順序/標記
raw — 顯示原始的日誌信息,沒有其他的元數據欄位
time — 顯示日期,調用時間,優先順序/標記,PID
long —顯示所有的元數據欄位並且用空行分隔消息內容
adb logcat -v thread //使用 thread 輸出格式
注意-v 選項中只能指定一種格式。
-b <buffer>載入一個可使用的日誌緩沖區供查看,默認值是main。
radio — 查看包含在無線/電話相關的緩沖區消息
events — 查看事件相關的消息
main — 查看主緩沖區 (默認緩沖區)
adb logcat -b radio //查看radio緩沖區