2014-11-08 29 views

回答

2

參考:http://developer.android.com/tools/debugging/debugging-log.html

在命令行中,你可以過濾logcat的以標籤和級別的消息。例如

adb logcat MyApplicationTag:I *:S 

將顯示所有的消息與「MyApplicationTag」標籤,在INFO級別(注意「:我」)或以上。 「*:S」使所有其他消息保持沉默。

==================================

要顯示來自多個標籤的消息:

adb logcat MyApplicationTag:I com.foo.bar:I com.foo.baz:I *:S 

==================================

要完成了最初的要求對於(通過通配符規範進行過濾),您可以簡單地讓shell執行過濾。請嘗試以下操作:

adb logcat | grep ^./com\.foo* 
+0

有應用程序內的多個標籤,而我,而不只是單純的標記感興趣的com.foo旗幟下的一切。 – Calyth 2014-11-08 02:49:20

+0

我會更新答案。支持... – EJK 2014-11-08 02:50:07

+0

我做了一些實驗,看看是否可以在標記中使用通配符(例如com.foo。*)但沒有運氣。 Android文檔也沒有提及通配符支持。因此,您堅持分別指定每個標籤。我會在答案中提供這些細節。 – EJK 2014-11-08 02:57:50

0

如果你願意做這次日食的外面,你是一個Mac上你可以做這樣的LogRabbit

app CONTAINS[cd] "com.foo" 

你可以在這裏找到更多的信息:http://lograbbit.com

enter image description here

  • 充分披露我日誌的創建者兔子。*
+0

整潔,但我需要這個工作跨多個環境。有一些Windows在使用* nix時遇到了麻煩。 – Calyth 2014-11-09 03:41:38

+0

好的,我希望你找到你需要的解決方案。 – Yepher 2014-11-09 03:42:51

2

是的!

在湯姆·馬爾卡希解決方案的頂部,您可以進一步簡化它象下面這樣:

alias logcat="adb logcat | grep `adb shell ps | egrep '\bcom.your.package.name\b' | cut -c10-15`" 

用法十分簡單,因爲正常的別名。只需在你的shell中鍵入命令:

logcat 

別名設置使它很方便。正則表達式可以使它適用於多進程應用程序,假設您只關心主進程。

因爲你可以爲每個過程設置更多的別名。 :)

此外,如果要設置日誌記錄級別,它是

alias logcat-w="adb logcat *:W | grep `adb shell ps | egrep '\bcom.your.package.name\b' | cut -c10-15`" 
0

for Windows用戶(Linux已經由其他人說一個更好的方式來做到這一點),我寫了一個簡單的python腳本來過濾應用程序的logcat輸出。

Link to github

相關問題