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?

36
demandé sur user1741274 2013-02-27 18:07:31

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..

8
répondu satish kumar rajput 2013-02-27 14:15:13

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.

84
répondu brianestey 2013-02-27 14:16:29

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
18
répondu AAnkit 2018-05-18 17:07:05

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.

3
répondu Joshua Pinter 2018-01-27 19:22:24

Si vous avez besoin de l'appareil date du programme:

 SimpleDateFormat s = new SimpleDateFormat("hh:mm:ss");
    String format = s.format(new Date());
0
répondu Nezam 2013-02-27 14:17:39

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...

0
répondu Chris Conway 2013-02-27 14:18:24