欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android shell命令行中過濾adb logcat輸出的方法

 更新時間:2016年08月19日 17:30:09   投稿:lqh  
本文主要介紹Android shell命令行中過濾adb logcat輸出,這里詳細(xì)說明了shell 命令過濾logcat 輸出內(nèi)容,有需要的小伙伴可以參考下

        我們在Android開發(fā)中總能看到程序的log日志內(nèi)容充滿了屏幕,而真正對開發(fā)者有意義的信息被淹沒在洪流之中,讓開發(fā)者無所適從,嚴(yán)重影響開發(fā)效率。本文就具體介紹幾種在shell命令行中過濾adb logcat輸出的方法。

       1、只顯示需要的輸出(白名單)

       最方便的當(dāng)然是通過管道使用 grep 過濾了,這樣可以使用 grep 強(qiáng)大的正則表達(dá)式匹配。簡單的匹配一行當(dāng)中的某個字符串,例如 MyApp:

       adb logcat | grep MyApp
       adb logcat | grep -i myapp #忽略大小寫。
       adb logcat | grep --color=auto -i  myapp #設(shè)置匹配字符串顏色。更多設(shè)置請查看 grep 幫助。

       進(jìn)階一點(diǎn)可以使用 grep 的正則表達(dá)式匹配。例如上一個例子會匹配一行中任意位置的 MyApp,可以設(shè)置為僅匹配 tag。默認(rèn)的 log 輸出如下,如果修改過輸出格式相應(yīng)的表達(dá)式也要修改。

       I/CacheService(  665): Preparing DiskCache for all thumbnails.

       可以看出 tag 是一行開頭的第三個字符開始,根據(jù)這點(diǎn)寫出表達(dá)式:

       adb logcat | grep "^..MyApp"

       根據(jù)這個格式也可以設(shè)置只顯示某個優(yōu)先級的 log,再匹配行首第一個字符即可。例如僅顯示 Error 級別 tag 為 MyApp 的輸出:

       adb logcat | grep "^E.MyApp"

       當(dāng)然也可以匹配多個,使用 | 分割多個匹配表達(dá)式,要加轉(zhuǎn)義符。例如要匹配 tag 為 MyApp 和 MyActivity 的輸出:

       adb logcat | grep "^..MyApp\|^..MyActivity"
       adb logcat | grep -E "^..MyApp|^..MyActivity"  #使用 egrep 無須轉(zhuǎn)義符

       2、過濾不需要的輸出(黑名單)

       還是使用 grep,用法也跟上面的一樣,加一個 -v 即可。例如要過濾 tag 為 MyApp 和 MyActivity 的輸出:

       adb logcat | grep -v "^..MyApp\|^..MyActivity"
       adb logcat | grep -vE "^..MyApp|^..MyActivity"  #使用 egrep 無須轉(zhuǎn)義符

       3、顯示同一個進(jìn)程的所有輸出

       有時一個程序里面的 tag 有多個,需要輸出該程序(同一個 PID)的所有 tag;僅使用 tag 過濾有時也會漏掉一些錯誤信息,而一般錯誤信息也是和程序同一個 PID。還是通過 grep 實(shí)現(xiàn),思路是先根據(jù)包名找到 pid 號,然后匹配 pid。寫成 shell 腳本如下,參數(shù)是程序的 java 包名(如 com.android.media)。

       #!/bin/bash
       packageName=$1
       pid=`adb shell ps | grep $packageName | awk ‘{print $2}'`
       adb logcat | grep –color=auto $pid

       4、從當(dāng)前開始顯示

       logcat 有緩存,如果僅需要查看當(dāng)前開始的 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++,一個免費(fèi)強(qiáng)大的記事本,支持正則表達(dá)式查找替換??梢愿吡溜@示匹配內(nèi)容,也可以刪除不需要的內(nèi)容。

       以上的技巧主要用到了 grep,其實(shí) logcat 本身也有過濾功能,可以根據(jù) tag、優(yōu)先級過濾 log,具體請參考 Android 官方文檔Reading and Writing Logs。如果喜歡使用圖形界面,請參考Using DDMS,DDMS 里面的 logcat 也可以同樣過濾。

       以上就是對Android shell命令行中過濾adb logcat輸出的方法的資料整理,后續(xù)繼續(xù)補(bǔ)充,謝謝大家對本站的支持!

相關(guān)文章

  • Android中EditText實(shí)現(xiàn)不可編輯解決辦法

    Android中EditText實(shí)現(xiàn)不可編輯解決辦法

    這篇文章主要介紹了Android中EditText實(shí)現(xiàn)不可編輯解決辦法,需要的朋友可以參考下
    2014-12-12
  • Android巧用Fragment解耦onActivityResult詳解

    Android巧用Fragment解耦onActivityResult詳解

    這篇文章主要給大家介紹了關(guān)于Android巧用Fragment解耦onActivityResult的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • Android開發(fā)兩個activity之間傳值示例詳解

    Android開發(fā)兩個activity之間傳值示例詳解

    這篇文章主要為大家介紹了Android開發(fā)兩個activity之間傳值示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 在Android中高效的加載大圖的方法示例

    在Android中高效的加載大圖的方法示例

    本篇文章主要介紹了在Android中高效的加載大圖的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Android?NDK開發(fā)(C語言--聯(lián)合體與枚舉)

    Android?NDK開發(fā)(C語言--聯(lián)合體與枚舉)

    這篇文章主要介紹了Android?NDK開發(fā)C語言聯(lián)合體與枚舉,共用體是一種特殊的數(shù)據(jù)類型,允許您在相同的內(nèi)存位置存儲不同的數(shù)據(jù)類型。您可以定義一個帶有多成員的共用體,但是任何時候只能有一個成員帶有值。下面詳細(xì)介紹該內(nèi)容,需要的朋友可以參考一下
    2021-12-12
  • Android Bitmap詳解及Bitmap的內(nèi)存優(yōu)化

    Android Bitmap詳解及Bitmap的內(nèi)存優(yōu)化

    這篇文章主要介紹了Android Bitmap詳解及Bitmap的內(nèi)存優(yōu)化的相關(guān)資料,Bitmap是Android系統(tǒng)中的圖像處理的最重要類之一。用它可以獲取圖像文件信息,進(jìn)行圖像剪切、旋轉(zhuǎn)、縮放等操作,并可以指定格式保存圖像文件,需要的朋友可以參考下
    2017-03-03
  • Android二維碼創(chuàng)建實(shí)例

    Android二維碼創(chuàng)建實(shí)例

    這篇文章主要介紹了Android二維碼創(chuàng)建實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • TableLayout(表格布局)基礎(chǔ)知識點(diǎn)詳解

    TableLayout(表格布局)基礎(chǔ)知識點(diǎn)詳解

    在本文里我們給大家分享了關(guān)于TableLayout(表格布局)的相關(guān)基礎(chǔ)知識點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-02-02
  • Android實(shí)現(xiàn)微信支付的統(tǒng)一下單

    Android實(shí)現(xiàn)微信支付的統(tǒng)一下單

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)微信支付的統(tǒng)一下單,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • android實(shí)現(xiàn)listview分頁的方法

    android實(shí)現(xiàn)listview分頁的方法

    這篇文章主要介紹了android實(shí)現(xiàn)listview分頁的方法,涉及Android生成listview列表的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05

最新評論