Comment avez-vous l'habitude de Balise entrées de journal? (android)

Je suppose que la plupart d'entre vous sont au courant de android.util.Journal
Toutes les méthodes de journalisation accepter 'String tag" en tant que premier argument.

Et ma question est la Comment avez-vous l'habitude de la balise de vos journaux dans vos applications?
J'ai vu quelques coder en dur comme ceci:

public class MyActivity extends Activity {
    private static final String TAG = "MyActivity";
    //...
    public void method () {
        //...
        Log.d(TAG, "Some logging");
    }
}

Ce n'est pas agréable à regarder pour de nombreuses raisons:

  • Vous pouvez me dire ce code n'a pas coder en dur, mais il le fait.
  • Ma demande pourrait avoir n'importe quel nombre de classes dans les packages différents avec le même nom. De sorte qu'il serait difficile de lire le journal.
  • Il n'est pas flexible. Vous avez toujours mettre un champ privé de la BALISE dans votre classe.

Est-il de toute façon soignée pour obtenir une ÉTIQUETTE de classe?

  • À l'aide de la BALISE est proposé par Android javadoc, donc je ne pense pas que c'est pire que de se nom de la classe au moment de l'exécution
  • je préfère créer une classe spécifique, comme GeneralConstants et de mettre mes TAGs sur lui et je peux atteindre mes balises de toute la classe que je veux comme ça; GeneralConstans.MY_TAG
  • Je pense que c'est mieux d'avoir l'ÉTIQUETTE définie dans la classe, coder en dur le nom de la classe, c'est moche, mais le seul moyen fiable pour travailler avec proguard. Si vous n'utilisez jamais proguard puis MyActivity.classe.getName() est la meilleure solution. Si vous êtes inquiet au sujet de la duplication de noms suffit d'inclure le nom du package. Avoir des noms de balises dans un autre endroit deviendra un entretien cauchemar.
  • Certaines de journalisation et de l'outil de débogage Android androidwave.com/useful-tools-for-logging-debugging-in-android
InformationsquelleAutor andrii | 2011-12-02