2011-05-04 42 views
1

我在Eclipse中使用Logcat。我一直無法在網上找到文檔,告訴我這樣做,但假設單擊時V,D,I,E等按鈕應該將Logcat輸出限制在該管道中?無論我選擇什麼,每個logcat輸出都會被噴出,並且不可能進行調試。Android Dev:Eclipse中的Logcat - 不能限制輸出到V/D/I/E?

有人可以告訴我如何只顯示調試輸出,即Log.d(..)打印?我不認爲這是可能的使用過濾器,因爲我已經嘗試創建一個日誌級別'調試'和一個空標籤和PID字段,但這只是再次打印所有日誌輸出。

非常感謝!

UPDATE

所以,這要歸功於以下Aleadam的鏈接,現在我知道,V/d/E /等都是「優先級」,包括比自己低的優先級。這似乎並不可能限制爲僅d(ebug)輸出,但至少我知道如何限制d,V由於V(erbose)是唯一的優先級低於DEBUG:

adb logcat *:W 

中當然,這必須通過命令行完成,所以我現在要弄清楚如何在Eclipse中使用相同的策略。按鈕真的不適合我,我不知道爲什麼,但它令人沮喪!

非常感謝您發佈的所有信息,夥計們。

+0

從我所瞭解的日誌級別過濾是包容性。含義「錯誤」僅適用於錯誤消息。 「警告」包含「警告」和「錯誤」消息。 「info」包括前面兩個等等。如果只想過濾「調試」消息,則留下幾乎空手而歸,因爲創建具有此類日誌級別的過濾器會在任何情況下過濾更高級別的消息。至少可以將pid和/或標籤添加到您的過濾器是唯一的方式。 – harism 2011-05-04 19:31:11

+0

你是對的,哈里斯 - 我剛剛閱讀下面的Aleadam發佈的鏈接中的信息,並相應地更新了我的問題。 – KomodoDave 2011-05-04 19:49:13

回答

2

這些按鈕應該按照您所描述的方式工作,只要它們在Log類中使用適當的API調用進行記錄即可。 http://developer.android.com/reference/android/util/Log.html

正則表達式/通配符不起作用。差不多一年前我要求提供一個錯誤。 http://code.google.com/p/android/issues/detail?id=11580&can=4&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

+0

事實上,早些時候,我在過濾器中的日誌級別爲'debug'的'tag'中嘗試了'*'和'。*',但這也不起作用。令人沮喪的..感謝信息埃裏克。 – KomodoDave 2011-05-04 19:39:23

+0

我的榮幸。抱歉,我無法對搜索提供更多幫助,但可以隨時投票處理該錯誤。 – 2011-05-04 19:50:03

+0

當然 - 我剛剛這樣做,手指越過他們的工程師,使其發生。 – KomodoDave 2011-05-04 19:55:22

2

adb logcat *:D不會顯示唯一的調試信息,而是隻顯示調試優先級或更高的信息。例如,adb logcat *:E > err.log只會保存錯誤。

對於許多選項,在這裏勾選「過濾日誌輸出」:http://developer.android.com/guide/developing/tools/adb.html#logcat

如果你在Linux下使用grep運行。如果你在窗戶上,使用外殼:(例如adb shell "logcat |grep 'D\/'"

+0

感謝nux技巧,很遺憾,我在Win 7上進行這項開發,並且沒有安裝Cygwin來利用grep。編輯:啊,亞行殼,gotcha ..會給它一個旋風,並很快返回,謝謝! – KomodoDave 2011-05-04 19:40:03

+0

@KomodoDave我還不夠清楚。我的意思是adb shell。看到我更新的答案。 – Aleadam 2011-05-04 19:41:03

1

過濾在我的系統上工作,但我指定了一個日誌標記。然後這會在日誌旁創建一個新按鈕。所以對於日誌標記「QPR」,我會看到[日誌] [QPR]按鈕,當我按[QPR]時,我只能看到已被標記爲「QPR」的日誌,如Log.d中所示(TAG,「onCreate」,e) ;

至少在我的系統上,如果我點擊[日誌](E),我只會得到錯誤。

希望幫助, JAL

+0

感謝您的信息,日航 - 點擊E給我所有的輸出,而不僅僅是錯誤。奇怪,令人沮喪..至少我現在知道這是一個錯誤,我的直覺是正確的! – KomodoDave 2011-05-04 19:52:36