2011-06-19 20 views
9

Chciałbym odfiltrować wszystko z dziennika, z wyjątkiem procesów mojej aplikacji. Wiem, że mogę określić poziomy priorytetów, ale chcę móc robić więcej. Chcę pozbyć się wszystkich innych rzeczy, które się dzieje w telefonie, który jest zalogowany. Jak mogę to zrobić?Filtrowanie Logcat?

Odpowiedz

10

Jeśli przeglądasz dzienniki w widoku debugowania Eclipse, możesz to zrobić bardzo łatwo, klikając przycisk Utwórz filtr (zielony + znak).

Jeśli nie przy użyciu Eclipse, określić filtr w linii poleceń w następujący sposób (przykład z Androidem docs):

Oto przykład z wyrażeniem filtra, które tłumi wszystkie wiadomości dziennika z wyjątkiem tych z etykietą " ActivityManager”, w priorytecie«info»lub powyżej, a wszystkie komunikaty dziennika z tagiem«MojaAplikacja», z priorytetu«Debug»lub powyżej:

adb logcat ActivityManager:I MyApp:D *:S 
+0

Nie używanie Eclipse;) Uruchamianie ADB w terminalu. Uważam, że łatwiejsze, jeśli mam je uruchomione osobno. – LuxuryMode

+0

@LuksusowyMode: wyjaśnienie adb dodano –

+0

Dzięki Graham. Kiedy to robię, widzę tylko: --------- początek/dev/log/system --------- początek/dev/log/main' Czy to dlatego, że nie masz tagów logu w mojej aplikacji? Chciałbym móc zobaczyć tylko procesy mojej aplikacji bez konieczności dodawania tagów do każdego działania lub czegoś podobnego. Czy istnieje jakiś prosty sposób na zdefiniowanie tagu dla całej aplikacji, jeśli ma to jakiś sens? – LuxuryMode

1

Tak teraz dostaniesz go automatycznie ....
Aktualizacja jedli do ADT plugin version 14, gdzie logcat będzie automatyczny session filter
gdzie filtrować Zaloguj się konkretnej aplikacji (pakiet)

0

Filtering LogCat poprzez linię poleceń mogą być wykonywane przez ustawienie ciąg tekstowy wyciszony, jak WifiStatetracker:S. Spowoduje to pozbycie się wszystkiego z WifiStateTracker w nim. Możesz użyć wielu argumentów, takich jak WifiStatetracker:S dhcpcd:S BatteryService:S. Nie wiem jednak, jak działa schemat dopasowania.