前言
做app測試,遇到異常情況,查看日志是必不可少的,日志如何輸出到手機sdcard和電腦的目錄呢?這就需要用logcat輸出日志了
以下操作是基於windows平台的操作:adb logcat | find
linux平台的操作可以把find改成grep: adb logcat | grep
windows上的dos里面是沒grep指令的
logcat輸出日志
1.把日志存入手機sdcard某個目錄(前提是這個目錄要是存在的)
adb logcat -f /sdcard/yoyo/yoyo.txt
備注:-f
上面這個指令在真機上(未root)是會報錯的,提示沒操作權限,在模擬器上可以執行

2.把日志存入電腦的某個目錄,如d:\debug
adb logcat >d:debug\yoyo.txt

備注這里沒-f, 不要問為什么 # 作者:上海-悠悠 QQ交流群:330467341
find過濾包名
1.如果直接用adb logcat抓日志的話,會把系統的一些其他無關緊要的都抓出來,如果只想抓取被測app的日志,那就根據包名過濾
adb logcat | find "com.sankuai.meituan" >d:\hello.txt

結束logcat
1.結束logcat抓包,可以用ctr+c快捷鍵結束, 這個是通過手工的快捷鍵操作完成
2.也可以先查詢到logcat的pip,再kill掉
adb shell ps | findstr logcat
adb shell kill -9 [logcatpid]
注意:kill操作在模擬器上是可以的,真機上沒權限

help其它功能
1.cmd輸入adb logcat -help可以查看其它功能
adb logcat -help
C:\Users\admin>adb logcat -help
Unrecognized Option h
Usage: logcat [options] [filterspecs]
**選項**:
-- "-s"選項 : 設置輸出日志的標簽, 只顯示該標簽的日志;
-- "-f"選項 : 將日志輸出到文件, 默認輸出到標准輸出流中, -f 參數執行不成功;
-- "-r"選項 : 按照每千字節輸出日志, 需要 -f 參數, 不過這個命令沒有執行成功;
-- "-n"選項 : 設置日志輸出的最大數目, 需要 -r 參數, 這個執行 感覺 跟 adb logcat 效果一樣;
-- "-v"選項 : 設置日志的輸出格式, 注意只能設置一項;
-- "-c"選項 : 清空所有的日志緩存信息;
-- "-d"選項 : 將緩存的日志輸出到屏幕上, 並且不會阻塞;
-- "-t"選項 : 輸出最近的幾行日志, 輸出完退出, 不阻塞;
-- "-g"選項 : 查看日志緩沖區信息;
-- "-b"選項 : 加載一個日志緩沖區, 默認是 main, 下面詳解;
-- "-B"選項 : 以二進制形式輸出日志;
**過濾項格式** : <tag>[:priority] , 標簽:日志等級, 默認的日志過濾項是 " *:I " ;
-- V : Verbose (明細);
-- D : Debug (調試);
-- I : Info (信息);
-- W : Warn (警告);
-- E : Error (錯誤);
-- F : Fatal (嚴重錯誤);
-- S : Silent(Super all output) (最高的優先級, 可能不會記載東西);
'*' by itself means '*:D' and <tag> by itself means <tag>:V.
If no '*' filterspec or -s on command line, all filter defaults to '*:V'.
eg: '*:S <tag>' prints only <tag>, '<tag>:S' suppresses all <tag> log messages.
If not specified on the command line, filterspec is set from ANDROID_LOG_TAGS.
If not specified with -v on command line, format is set from ANDROID_PRINTF_LOG
or defaults to "threadtime"
上海-悠悠 QQ交流群:330467341
