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?

6voto

yoAlex5 Punkte 20661

Als Variante können Sie ein Skript eines Drittanbieters verwenden PID Katze von Jake Wharton. Dieses Skript hat zwei große Vorteile:

  • zeigt Protokolleinträge für Prozesse aus einem bestimmten Anwendungspaket
  • Farbe logcat

Aus der Dokumentation:

Während der Anwendungsentwicklung möchten Sie oft nur die von Ihrer Anwendung stammenden Protokollmeldungen anzeigen. Da sich die Prozess-ID jedes Mal ändert, wenn Sie die Anwendung auf dem Telefon bereitstellen, ist es leider eine Herausforderung, nach dem Richtigen zu suchen.

Dieses Skript löst dieses Problem, indem es nach Anwendungspaketen filtert.

Eine Ausgabe sieht so aus enter image description here

6voto

Deepak Attri Punkte 92

Um auf die Logcats zugreifen zu können, müssen Sie zunächst das ADB-Kommandozeilentool installieren. Das ADB-Kommandozeilen-Tool ist Teil der Android-Studio-Plattform-Tools und kann heruntergeladen werden von これ . Danach müssen Sie den Pfad/die Umgebung festlegen variabel für adb-Tools. Jetzt können Sie auf logcat von eclipse terminal/ intellij terminal oder mac terminal zugreifen, falls Sie ein macbook verwenden.

adb logcat : Um das gesamte Logcat zu erhalten.

adb shell pidof 'com.example.debug' : Um die Prozess-ID Ihrer Anwendung zu erhalten.

adb logcat pid=<pid> : Um logcat speziell für Ihre Anwendung zu erhalten.

adb logcat pid=<pid>|grep 'sometext' : Zum Filtern von Logcat auf der Grundlage eines bestimmten Textes.

Für weitere Informationen über das Filtern von Logcats lesen Sie este .

6voto

Aaron T Harris Punkte 2958

Mit ADT v15 für Eclipse können Sie einen Anwendungsnamen angeben (der eigentlich der Paketwert in Ihrer androidmanifest.xml ist).

Ich finde es toll, dass ich nach Anwendungen filtern kann, aber das neue Logcat hat einen Fehler mit dem Autoscroll. Wenn man ein wenig nach oben scrollt, um sich frühere Logs anzusehen, scrollt es in ein paar Sekunden automatisch wieder nach unten. Es scheint so, als ob das Scrollen von 1/2 des Protokolls nach oben verhindert, dass es wieder nach unten springt, aber das ist oft nutzlos.

EDIT: Ich habe versucht, einen Anwendungsfilter über die Befehlszeile anzugeben - ohne Erfolg. Wenn jemand herausfindet, wie man den automatischen Bildlauf stoppen kann, lassen Sie es mich bitte wissen.

3voto

John Melody Me Punkte 377

Ich habe einen anderen Ansatz: Sie können versuchen, auf die Shell des lokalen Geräts zuzugreifen.

adb shell

und dann folgen die

logcat | grep com.package.name

Diese drucken alle, die dieses Paket enthalten.

Alternativ dazu können Sie versuchen flutter logs --verbose

3voto

Lud Akell Punkte 141

Auf Windows 10, mit Ionic, was funktionierte gut zu mir war 'findstr' mit dem "INFO:CONSOLE" von allen App-Nachrichten generiert kombinieren. Also, mein Befehl in der Kommandozeile ist:

adb logcat | findstr INFO:CONSOLE

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