J'utilise Android jellybeans. Il y a une grande quantité d'informations de débogage qui sont déversées par de nombreux composants. Je remarque donc que les logs de mon application sont souvent perdus. J'ai essayé d'enregistrer le journal logcat dans un fichier sur le téléphone, puis de faire un "adb pull". Il y a toujours une bonne quantité de logs qui sont perdus. Y a-t-il un moyen de s'assurer qu'aucun journal n'est perdu ?
Réponses
Trop de publicités?La journalisation sur Android utilise un tampon circulaire de taille fixe (la taille exacte dépend de différents critères), voir par exemple Quelle est la taille limite de Logcat ? Les entrées plus anciennes sont donc écrasées lorsque la mémoire tampon est "pleine". Vous pouvez ajuster la taille de la mémoire tampon (voir : Comment augmenter la taille du journal de dev/log/main ? ), mais ces ajustements ne survivraient probablement pas à une botte.
Si vous voulez vraiment vous assurer qu'aucune donnée d'enregistrement n'est perdue, vous devez diriger l'enregistrement vers une "ressource externe" - soit vers un "stockage externe", soit vers "l'informatique en nuage".
Tout d'abord, le journal d'Android est un journal circulaire, ce qui signifie que si vous avez beaucoup d'enregistrements en cours, les déclarations les plus anciennes seront écrasées. Pourquoi ne pas utiliser une solution personnalisée comme microlog pour Android ? http://code.google.com/p/microlog4android/
Vous pouvez utiliser la commande logcat | grep 'YOURTAG', pour n'afficher que les journaux de vos applications. Cela peut être fait à travers n'importe quel émulateur de terminal, ou en utilisant Android Debug Bridge (adb).