Temps affiché dans Logcat
je dois obtenir le timestamp de périphérique Android dans le format hh:mm:ss:SS. Je peux voir l'heure affichée dans le Logcat D'Eclipse. C'est le temps de l'ordinateur ou le périphérique Android?
6 réponses
Si vous exécutez votre application sur un appareil Android, alors il sera de périphérique d'impression est temps, si sur émulateur, il va montrer heure de l'ordinateur.
pour être sûr de faire correspondre l'heure du journal avec l'Heure de l'appareil et avec l'Heure de l'ordinateur, vous trouverez votre réponse..
docs de logcat vous pouvez voir qu'il y a une option pour spécifier comment la sortie est formatée ( - v).
Pour obtenir un timestamp, vous pouvez utiliser la commande
logcat -v time
ceci préfixe chaque message avec un timestamp.
utiliser adb logcat -v threadtime
dans le terminal pour prendre les journaux à partir de l'appareil, la date et l'heure.
si vous voulez rediriger ces journaux dans un fichier texte, utilisez la commande dans le terminal.
adb logcat -v threadtime > folder_path_in_the_computer/filename.txt
Utiliser long
,threadtime
ou time
formats avec logcat -v <format>
logcat
a un certain nombre d'options de format, qui peuvent être passées à -v
signal en ligne de commande. Vous pouvez consulter tous les formats dans la documentation ici.
Voici des exemples de ce à quoi ressemble chaque option pour que vous puissiez décider laquelle convient à vos besoins:
brief
afficher la priorité, la balise et le PID du processus de diffusion du message.
D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
long
afficher tous les champs de métadonnées et les messages séparés avec des lignes vierges.
(j'aime c'est le meilleur, mais je suis un surgeon pour des espaces.)
[ 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
affichage PID seulement.
D( 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false) (StatusBar.NetworkController)
D( 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false) (StatusBar.NetworkController)
raw
afficher le message de journal brut sans autres métadonnées Fields.
refreshNwBoosterIndicator - setNWBoosterIndicators(false)
refreshNwBoosterIndicator - setNWBoosterIndicators(false)
tag
afficher la priorité et l'étiquette seulement.
D/StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D/StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
thread
un format legacy qui affiche la priorité, le PID, et le TID du thread émettant le message.
D( 1222: 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D( 1222: 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false)
threadtime
afficher la date, l'heure d'invocation, la priorité, la balise, le PID, et le TID du thread émettant le message.
(les docs disent c'est la valeur par défaut, mais pas vrai dans mon cas.)
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
afficher la date, l'Heure de l'invocation, la priorité, l'étiquette et le PID du processus émettant le message.
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)
NOTE: si vous utilisez ceci dans votre application pour collecter programmatiquement les logs de votre périphérique utilisateur pour les envoyer à votre équipe de support ou autre, vous devez omettre l'espace entre -v
et format
, comme ceci:
commandLine.add( "-vlong" )
je ne sais Pas pourquoi c'est comme ça, mais j'espère que ça sauve quelqu'un de temps à essayer de comprendre.
Si vous avez besoin de l'appareil date du programme:
SimpleDateFormat s = new SimpleDateFormat("hh:mm:ss");
String format = s.format(new Date());
Pris lecture et écriture des journaux sur le Site des Développeurs:
" - afficher la date, l'heure d'invocation, la priorité/étiquette, et le PID du processus émettant le message."
sur l'émulateur ce sera le temps de votre ordinateur, sur un périphérique ce sera le temps de votre périphérique...