9 Stimmen

Versuche, meinen LogCat in eine Datei auszugeben

Ich wurde informiert, dass es eine Befehlszeilenoption ist. Aber das Feld "Zusätzliche Emulator-Befehlszeilenoptionen" von Eclipse unter "Ausführen!Konfigurationen ausführen...!Ziel!Zusätzliche Emulator-Befehlszeilenoptionen" ist bereits belegt mit

-sdcard "C:\android-sdk-windows\tools\sd9m.img"

Wenn ich etwas schreiben wollte wie

adb logcat -s MessageBox > "C:\Benutzer\ich\Dokumente\LogCatOutput.txt"

dann wo schreibe ich das, und wie (d.h. ist die Syntax überhaupt korrekt)? Ich muss nur ein gefiltertes Tag ausgeben, nicht ausführlich. ("MessageBox" ist mein TAG. Wieder weiß ich nicht, ob die Satzzeichen richtig sind oder sogar wo der Befehl hingehört.)

Vielen Dank für jede Hilfe.

14voto

Trevor Johns Punkte 15484

Es sollte eine adb.exe-Datei in C:\android-sdk-windows\tools vorhanden sein. Sie können dies manuell von einem DOS-Befehlsprompt aus aufrufen:

cd C:\android-sdk-windows\tools
adb logcat -s MessageBox > "C:\Users\ich\Dokumente\LogCatOutput.txt"

In diesem Fall ist es nicht notwendig, sich mit Eclipse zu befassen.

1 Stimmen

Die Datei, die im Verzeichnis erstellt wurde, ist leer, weiß. Sowohl vor als auch nachdem ich meine Android-App ausführe. Ich weiß nicht, was ich tun soll.

0 Stimmen

Was passiert, wenn Sie den letzten Teil weglassen (> "C:\Users\me\Documents\LogCatOutput.txt"). Sehen Sie etwas?

0 Stimmen

Wenn Sie adb logcat -s MessageBox ausführen, sollten Sie Protokollnachrichten sehen. Wenn nicht, stimmt etwas nicht mit Ihrer Filterspezifikation. Sehen Sie sich diese Seite zur Dokumentation zum Schreiben der Filterspezifikation für die Verwendung mit logcat an: developer.android.com/guide/developing/tools/adb.html#logcat

4voto

hopia Punkte 4682

Alternativ können Sie, wenn Sie nur möchten, dass alles, was sich bereits in den Logcat-Puffern befindet, abgelegt und sofort beendet wird (nützlich für Skripte), die Option -d angeben:

$ adb logcat -d -s MessageBox  > dump_file.txt

Stellen Sie sicher, dass '-d' nach 'logcat' steht.

0 Stimmen

Du musst das nicht tun. Diese Option lässt logcatdump das Protokoll ausgeben und beenden. Es ist nützlich, wenn du das bereits protokollierte dumpen möchtest, aber nicht erlaubt, weiterhin in eine Datei zu dumpen.

0voto

Simon Featherstone Punkte 1626

Eine weitere nützliche Ergänzung zu den obigen Antworten ist die Filterung. Die Anwendung, an der ich arbeite, erzeugt eine riesige Menge an Protokollen, daher ist es nützlich, mit Filtern zu protokollieren.

adb -s MyDevice logcat | find /V ": T#" > d:\temp\logcat.txt

oder für OSX/Linux

adb -s MyDevice logcat | grep -v ": T#" > ~/logcat.txt

Dies schreibt alle Aktivitäten des Logcat außer jeder Zeile, die ": T#" enthält.

find oder grep können auch verwendet werden, um basierend auf positiven Ergebnissen zu filtern. Ich verwende dann gerne BareTail, um die wachsende Protokolldatei anzuzeigen.

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