appium---adb logcat 命令詳解


  我們在做app測試的過程中,肯定會遇到需要抓取日志問題,這幾天安靜也遇到了此問題,后台日志生成的太多了,保存本地了吧,設備多沒有這么USB,通過wifi連接又太麻煩,你說這怎么是好?不要着急,我們往下看

adb logcat介紹

adb 是android一個操作命令,前面有講過----常用的adb命令

logcat 是android一個打印日志的工具,當然也可以通過命令行進行操作。最主要的是不僅僅可以PC端使用,還可以在app內部進行使用

 

logcat原理

格式

[adb] logcat [<option>] … [<filter – spec>] …

PC端使用:

adb logcat

shell模式下使用:

logcat

logcat 命令行參數

參數 描述
-b 加載一個可使用的日志緩沖區供查看,比如event和radio。默認值是main
-c 清除緩沖區中的全部日志並退出(清除完后可以使用-g查看緩沖區)
-d 將緩沖區的log轉存到屏幕中然后退出
-f  將log輸出到指定的文件中<文件名>.默認為標准輸出(stdout)
-g 打印日志緩沖區的大小並退出
-n  設置日志的最大數目<count>,默認值是4,需要和-r選項一起使用
-r  沒<kbytes>時輸出日志,默認值是16,需要和-f選項一起使用
-s 設置過濾器
-v  設置輸出格式的日志消息。默認是短暫的格式。支持的格式列表

 

 

 

 

 

 

 

 

 

 

 

 

 

PC端使用

pc端使用肯定是結合這adb進行使用

# 查看日志
adb logcat 

# 過濾關鍵字日志 win用find  mac 用grep 
adb logcat | find "xxxxx"

# 保存日志
adb logcat >路徑\名稱.txt

# 保存過濾日志
adb logcat >find "xxxx" >路徑\名稱.txt

# 清空緩存日志
adb logcat -c

# 打印緩沖區大小並退出
adb logcat -g

接下來就是重點了,也是這個地方幫我解決了問題。

 

app端

在app端使用的時候必須要通過adb shell 進入到app內中,進入adb shell 其實就是android的終端(也就是liunx系統中,就可以敲命令了)

我們通過幾個需求來了解app端的log使用方法:

需求1:實時過濾“XXX”日志並保存下來

PC端的方法上面已經寫過了可以參考下,app端的可以這樣寫

# app端保存日志
logcat -s 標簽名 -f /app內存路徑/名稱.txt

# 通過保存在app中,然后再通過adb pull 提取出來

我們知道在PC端中-s是過濾關鍵字,但是這個地方不是,這個地方是過濾的日志標簽名(就是打印日志前面寫的標簽類型)

 

需求2:不連接usb實時保存日志

可能會有人想通過wifi連接,但是如果我們的app不在辦公室測試的時候怎么通過wifi連接呢?

# 不一直連接usb實時抓取日志

logcat -s 標簽名 -f /路徑/名稱.txt &

# & 表示后台運行

通過這個命令,只要手機不關機,命令就會一直進行中,這樣我們不用實時連接USB也能實時抓取日志了

注意:app的命令必須要進入到adb shell 的狀態下

 

就是這個命令幫助了安靜解決了領導的要求, 監控的設備多了,還不用連接USB。只需要2行命令,多么簡單,快去嘗試下吧~~~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM