482 Stimmen

LogCat filtern, um nur die Nachrichten von My Application in Android zu erhalten?

Ich habe festgestellt, dass ich bei der Verwendung von Logcat mit Eclipse mit ADT für Android auch Meldungen von vielen anderen Anwendungen erhalte. Gibt es eine Möglichkeit, dies zu filtern und nur Meldungen von meiner eigenen Anwendung anzuzeigen?

3voto

freezing_ Punkte 854

Normalerweise füge ich in den Protokollmeldungen etwas hinzu, um es zu verdeutlichen. Oder zum Beispiel Unity-App können Sie "Unity" als passende Zeichenfolge verwenden.

Für Mac:

adb logcat | grep "MyUniqueString" 

für Windows (powershell ):

adb logcat | Select-String "MyUniqueString"

3voto

Burak Day Punkte 878

Ein anderer Weg, um Protokolle mit dem genauen Paketnamen zu erhalten, wenn Sie sich in der Shell befinden:

logcat --pid $(ps -ef | grep -E "com.example.app\$" | awk '{print $2}')

2voto

Frank Du Punkte 516

Dies ist wahrscheinlich die einfachste Lösung.

In Anlehnung an eine Lösung von Tom Mulcahy können Sie es wie folgt weiter vereinfachen:

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

Die Verwendung ist einfach wie bei einem normalen Alias. Geben Sie einfach den Befehl in Ihrer Shell ein:

logcat

Die Einrichtung von Aliasen ist sehr praktisch. Und die Regex macht es robust für Multi-Prozess-Anwendungen, vorausgesetzt, Sie kümmern sich nur um den Hauptprozess.

Natürlich können Sie für jeden Prozess beliebig viele Aliase festlegen. Oder Sie verwenden die Lösung von Hegazy :)

Wenn Sie außerdem Protokollierungsstufen festlegen möchten, ist es

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

2voto

Gene Punkte 10122

Geben Sie Ihrem Protokoll einen Namen. Ich habe meinen "Wawa" genannt.

enter image description here

In Android Studio gehen Sie zu Android-> Filterkonfigurationen bearbeiten

enter image description here

Geben Sie dann den Namen ein, den Sie den Protokollen gegeben haben. In meinem Fall heißt es "wawa". Hier sind einige Beispiele für die möglichen Filter. Sie können nach System.out, System.err, Logs oder Paketnamen filtern:

enter image description here enter image description here enter image description here

2voto

bjpcomet Punkte 81

Ich bin mir nicht sicher, ob es eine Möglichkeit gibt, nur Systemmeldungen zu Ihrer Anwendung anzuzeigen, aber Sie können anhand einer Zeichenfolge filtern. Wenn Sie ein Protokoll innerhalb des Programms erstellen, können Sie einfach ein bestimmtes eindeutiges Schlüsselwort eingeben und nach diesem Wort filtern.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X