[JAVA] Je souhaite simplifier la sortie du journal sur Android

Vous pouvez sortir le journal sur Android en écrivant Log.d (TAG," some log text ... "), mais il était difficile de déclarer la variable TAG à chaque fois, donc en fonction de l'appelant. J'ai pensé que ce serait pratique si le nom du fichier et le numéro de ligne étaient automatiquement acquis et que «TAG» était défini. ** C'est fait. ** Créez une classe dans Texto et créez une méthode comme celle ci-dessous. Appelons cela la classe «Logger».

Logger.java


public class Logger {
  public static void log(String text) {
    StackTraceElement elem = Thread.currentThread().getStackTrace()[2];
    String tag = elem.getFileName();
    Log.d(tag, text);
  }
}

Appelez ensuite cette méthode où vous souhaitez cracher le journal.

Logger.log("hello world");

Exemple de sortie


09-15 19:52:03.270 15378-15378/com.niusounds.myapps D/MainActivity.java: hello world

Facile! !!

À propos, appeler le même code depuis Kotlin a donné des résultats différents. Dans le cas de Kotlin, il semble que vous deviez obtenir Thread.currentThread (). StackTrace [3].

Log.kt


fun log(text: String) {
    val caller = Thread.currentThread().stackTrace[3]
    val tag = "${caller.fileName}:${caller.lineNumber}"
    Log.d(tag, text)
}

Recommended Posts

Je souhaite simplifier la sortie du journal sur Android
Je souhaite modifier le paramètre de sortie du journal de UtilLoggingJdbcLogger
Je veux intégrer n'importe quel TraceId dans le journal
[Android Studio] Je souhaite utiliser une bibliothèque Maven sur Android
(´-`) .. oO (Je veux trouver facilement la sortie standard" Hello ".
Je veux mettre le JDK sur mon PC Mac
Je souhaite simplifier l'instruction if-else de la branche conditionnelle en Java
[Android Studio] Je souhaite définir des restrictions sur les valeurs enregistrées dans EditText [Java]
Je souhaite installer PHP 7.2 sur Ubuntu 20.04.
Je veux ajouter l'option désactivée à f.radio_button en fonction de la condition
[Android] Je souhaite obtenir l'auditeur à partir du bouton de ListView
[Ruby] Je souhaite afficher uniquement le caractère impair dans la chaîne de caractères
Je veux var_dump le contenu de l'intention
Je veux tronquer après la virgule décimale
Je veux obtenir la valeur en Ruby
Je veux juger la gamme en utilisant le diplôme mensuel
Je veux connaître la réponse de l'application Janken
Je souhaite afficher le nom de l'affiche du commentaire
Je souhaite utiliser le mode sombre avec l'application SWT
Je veux appeler la méthode principale en utilisant la réflexion
[Commentaire approximatif] Je veux épouser la méthode du pluck
Je veux retourner la position de défilement de UITableView!
Je souhaite ajouter une fonction de suppression à la fonction de commentaire
Je veux afficher quel caractère une chaîne de caractères arbitraire apparaît à partir de la gauche
Je veux voir uniquement les dernières car le journal Docker est devenu trop volumineux
Je souhaite analyser morphologiquement le journal stocké dans la base de données et le stocker dans la base de données pour classer les messages 1
Je veux placer RadioButtons dans le même RadioGroup à n'importe quelle position de l'écran
Je veux accéder à l'API avec Rails sur plusieurs docker-composes configurés localement
Je veux convertir des caractères ...
[Débutant] Je souhaite modifier le fichier de migration-Comment utiliser la restauration-
J'ai essayé d'ajouter une ligne de séparation à TabLayout sur Android
[Rails] [bootstrap] Je souhaite modifier la taille de la police de manière réactive
Je veux amener Tomcat sur le serveur et démarrer l'application
J'étais accro à la mise à jour de la déclaration dans MyBatis
Je veux appeler une méthode et compter le nombre
Je souhaite utiliser l'API Java 8 DateTime lentement (maintenant)
Je souhaite créer un formulaire pour sélectionner la catégorie [Rails]
Je souhaite utiliser la méthode de désinfection autre que View.
Même en Java, je veux afficher true avec un == 1 && a == 2 && a == 3
Je veux donner un nom de classe à l'attribut select
Méthode de sortie de journal correcte sur Android (classe de journal standard vs AnkoLogger)
Je souhaite rechercher de manière récursive la liste des classes sous le package
Je souhaite passer au même écran dans l'état enregistré
Je souhaite renvoyer plusieurs valeurs de retour pour l'argument saisi
[Ruby] Je souhaite inverser l'ordre de la table de hachage
Je veux passer la commande de démarrage à postgres avec docker-compose.
[Java] Je souhaite tester l'entrée standard et la sortie standard avec JUnit
Créez une application Android pour ceux qui ne veulent pas écouter de musique sur leurs haut-parleurs