Ich brauche den Zeitstempel des Android-Geräts im Format hh:mm:ss:SS. Ich kann die im Logcat von Eclipse angezeigte Zeit anzeigen. Ist es die Zeit des Computers oder die Zeit des Android-Geräts?
Zeitanzeige in Logcat
Von dem docs von logcat Sie können sehen, dass es eine Option gibt, um anzugeben, wie die Ausgabe formatiert wird (-v).
Um einen Zeitstempel zu erhalten, können Sie den Befehl verwenden
logcat -v time
Dadurch wird jeder Nachricht ein Zeitstempel vorangestellt.
-
es ist kein Zeitstempel
– maszter
11. Februar 2021 um 13:13 Uhr
AAnkit
verwenden adb logcat -v threadtime
im Terminal, um die Protokolle vom Gerät zu übernehmen, enthält es Datum und Uhrzeit.
Wenn Sie diese Protokolle in eine Textdatei umleiten möchten, verwenden Sie den Befehl im Terminal.
adb logcat -v threadtime > folder_path_in_the_computer/filename.txt
-
Interessant ist das jetzt weg. 2019 bekomme ich: adb logcat -v threadtime adb: usage: unknown command threadtime
– Warren P
18. Oktober 2019 um 15:51 Uhr
Wenn Sie Ihre App auf einem Android-Gerät ausführen, wird die Uhrzeit des Geräts gedruckt. Wenn Sie sich im Emulator befinden, wird die Uhrzeit des Computers angezeigt.
Um sicherzustellen, dass Sie die Zeit des Protokolls mit der Zeit des Geräts und der Zeit des Computers abgleichen, finden Sie Ihre Antwort.
-
Das ist spätestens seit Android 5.x nicht mehr der Fall.
– Zamber
12. April 2016 um 15:55 Uhr
Josua Pinter
Verwenden long
, threadtime
oder time
Formate mit logcat -v <format>
logcat
hat eine Reihe von Formatoptionen, die an die übergeben werden können -v
Flag in der Kommandozeile. Alle Formate können Sie in der Dokumentation einsehen hier.
Hier sind Beispiele, wie jede Option aussieht, damit Sie entscheiden können, welche Ihren Anforderungen entspricht:
brief
Zeigt Priorität, Tag und PID des Prozesses an, der die Nachricht ausgibt.
D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
long
Zeigen Sie alle Metadatenfelder und separate Nachrichten mit Leerzeilen an.
(Das gefällt mir am besten, aber ich bin ein Fan von Leerzeichen.)
[ 01-27 13:17:07.703 1222: 1222 D/StatusBar.NetworkController ]
refreshNwBoosterIndicator - setNWBoosterIndicators(false)
[ 01-27 13:17:07.703 1222: 1222 D/StatusBar.NetworkController ]
refreshNwBoosterIndicator - setNWBoosterIndicators(false)
process
Nur PID anzeigen.
D( 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false) (StatusBar.NetworkController)
D( 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false) (StatusBar.NetworkController)
raw
Zeigt die unformatierte Protokollnachricht ohne andere Metadatenfelder an.
refreshNwBoosterIndicator - setNWBoosterIndicators(false)
refreshNwBoosterIndicator - setNWBoosterIndicators(false)
tag
Zeigt nur die Priorität und das Tag an.
D/StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D/StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
thread
Ein Legacy-Format, das Priorität, PID und TID des Threads anzeigt, der die Nachricht ausgibt.
D( 1222: 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D( 1222: 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false)
threadtime
Zeigt Datum, Aufrufzeit, Priorität, Tag, PID und TID des Threads an, der die Nachricht ausgibt.
(Die Dokumente sagen, dass dies die Standardeinstellung ist, aber in meinem Fall nicht wahr ist.)
01-27 13:17:07.703 1222 1222 D StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
01-27 13:17:07.703 1222 1222 D StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
time
Zeigt das Datum, die Aufrufzeit, die Priorität, das Tag und die PID des Prozesses an, der die Nachricht ausgibt.
01-27 13:17:07.703 D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
01-27 13:17:07.703 D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
HINWEIS: Wenn Sie dies in Ihrer App verwenden, um die Geräteprotokolle Ihres Benutzers programmgesteuert zu sammeln, um sie an Ihr Support-Team oder was auch immer zu senden, müssen Sie das Leerzeichen dazwischen weglassen -v
und die format
so:
commandLine.add( "-vlong" )
Ich bin mir nicht sicher, warum das so ist, aber hoffentlich spart das jemandem Zeit, wenn er versucht, das herauszufinden.
Genommen von Protokolle lesen und schreiben auf der Entwicklerseite:
“Zeit — Anzeige von Datum, Aufrufzeit, Priorität/Tag und PID des Prozesses, der die Nachricht ausgibt.”
Auf dem Emulator wird es die Zeit Ihres Computers sein, auf einem Gerät wird es die Zeit Ihres Geräts sein …
Wenn Sie das Gerätedatum programmgesteuert benötigen:
SimpleDateFormat s = new SimpleDateFormat("hh:mm:ss");
String format = s.format(new Date());
Es war das Datum und die Uhrzeit des Android-Geräts in allen Logcat-Protokollen, die ich aufgenommen habe.
– Michael
27. Februar 2013 um 14:10 Uhr