2 votes

Des applications qui polluent mon journal

J'ai regardé mon journal récemment pour plus de développement d'applications Android, et j'ai remarqué que mon journal est envahi par toutes sortes d'informations que je n'aurais pas jugé nécessaire d'enregistrer.

Au fil du temps, j'ai remarqué que mon téléphone devenait plus lent. J'ai même remarqué qu'à ce stade, avec un firmware complètement stocké et un certain nombre d'applications du Play Store, en cours d'exécution de la musique en ce moment, et Eclipse ne peut même pas suivre la sortie du journal sur Verbose logging.

Ma question porte sur ce point. Les journaux sont-ils stockés pendant un certain temps, ce qui pourrait entraîner une disparition progressive de l'espace ? Existe-t-il un moyen de désactiver certaines fonctions de journalisation afin de ne pas enregistrer sur le "disque" des éléments tels que verbose, alors que les applications n'en ont même pas besoin ? J'ai toujours pensé que la journalisation devait être faite en cas d'erreur, et non pas "juste parce que". Si c'est une information de débogage, alors la version release ne devrait pas enregistrer autant de données (ce qui est facilement réalisable avec un simple changement de variable). Ai-je tort ?

Merci d'avance !

1voto

Chahk Points 19297

Les journaux Android sont stockés dans un tampon circulaire interne . En tant que tel, je ne vois pas comment les applications les plus verbeuses pourraient ralentir le système uniquement à cause de la journalisation.

1voto

TMN Points 2464

Si les billes vous dérangent vraiment, vous avez deux possibilités.

La première option consiste à les désactiver. Vous pouvez le faire avec

adb shell setprop log.tag.BadTag ERROR

Cela ne les enregistrera que s'il s'agit d'une erreur ou plus, mais vous devrez tuer l'application avant qu'elle n'écoute.

La seconde option est d'utiliser logcat directement et de filtrer ce qui ne vous intéresse pas. J'ai un script logcat qui ressemble à ceci :

hounshell@hounshell:/home/hounshell/scripts$ cat logcat 
#!/bin/bash

for arg; do
    if [[ "$arg" == *:* ]]; then
        args="$args $arg "
    else
        args="$args $arg:* "
    fi
done

exec adb logcat \
  dalvikvm:W \
  ActivityManager:W \
  AndroidRuntime:W \
  ${args[@]} \
  *:S

Il ne s'agit que d'enregistrer les informations qui m'intéressent généralement. Vous l'appelez comme ./logcat MyTag0 MyTag1:W MyTag2 MyTag3:D Ceci enregistrera tout pour les balises MyTag0 et MyTag2, les avertissements de MyTag1, et le débogage de MyTag3. L'inconvénient ici est que ce n'est pas directement dans Eclipse (je considère personnellement que c'est un avantage, mais je m'égare).

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X