153 votes

Journalisation Android

Je vais avoir beaucoup de déclarations de journalisation de débogage par exemple.

tout en déployant cette application sur le téléphone de l’appareil, je veux désactiver la journalisation détaillée d’où je peux activer/désactiver journalisation.

202voto

Dave Webb Points 90034

La Android la Documentation dit ce qui suit à propos des Niveaux de Journal:

Verbose ne doit jamais être compilées dans une application, sauf au cours du développement. Les journaux de débogage sont compilés dans mais dépouillé au moment de l'exécution. Erreur, avertissement et informations des journaux sont toujours conservés.

Vous voudrez peut-être envisager de décapage le journal de l'enregistrement Détaillé des déclarations, éventuellement à l'aide de ProGuard comme suggéré dans une autre réponse.

Selon la documentation, vous pouvez configurer la journalisation sur un développement de l'appareil à l'aide de la fenêtre Propriétés Système. La propriété à définir est - log.tag.<YourTag> et elle devrait être l'une des valeurs suivantes: VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERTou SUPPRESS. Plus d'informations sur ce qui est disponible dans la documentation de l' isLoggable() méthode.

Vous pouvez définir les propriétés temporairement à l'aide de l' setprop commande. Par exemple:

C:\android>adb shell setprop log.tag.MyAppTag WARN
C:\android>adb shell getprop log.tag.MyAppTag
WARN

Sinon, vous pouvez les spécifier dans le fichier '/data/local.prop " comme suit:

log.tag.MyAppTag=WARN

Plus tard, des versions d'Android semble exiger que /data/local.prop être en lecture seule. Ce fichier est lu au démarrage de sorte que vous aurez besoin de redémarrer après la mise à jour. Si /data/local.prop monde est accessible en écriture, il sera probablement ignoré.

Enfin, vous pouvez définir par programmation à l'aide de l' System.setProperty() méthode.

91voto

Christopher Orr Points 58514

Le moyen le plus simple est sans doute pour parcourir votre JAR compilée ProGuard avant le déploiement, avec une config comme :

Qui sera, en dehors de tous les autres optimisations ProGuard — supprimer toute déclaration journal détaillé directement depuis le bytecode.

79voto

Cytown Points 1161

Une façon courante consiste à faire un int nommé loglevel et définir son niveau de débogage basé sur loglevel.

Plus tard, vous pouvez simplement changer la LOGLEVEL pour tous les niveau de sortie de débogage.

18voto

kpd Points 251

J’ai pris une route simple - création d’une classe wrapper qui utilise aussi des listes de paramètre variable.

10voto

Fortess Nsk Points 81

La meilleure façon est d’utiliser les API SLF4J + certains de sa mise en œuvre.

Pour les applications Android, vous pouvez utiliser le texte suivant :

  1. Logger Android est l’application de SLF4J léger mais facile à configurer (
  2. LOGBack est la mise en œuvre plus puissant et optimisé, mais sa taille est d’environ 1 Mo.
  3. Un autre de votre goût : slf4j-android, slf4android.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X