web-dev-qa-db-fra.com

Pourquoi Log.d () et Log.v () n'impriment-ils pas

J'ai le code de test suivant dans mon activité:

@Override
public void onStart() {
    super.onStart();
    Log.e(CLASS_NAME, "ERROR onStart()");
    Log.w(CLASS_NAME, "WARN onStart()");
    Log.i(CLASS_NAME, "INFO onStart()");
    Log.d(CLASS_NAME, "DEBUG onStart()");
    Log.v(CLASS_NAME, "VERBOSE onStart()");

Sur la vue logcat dans Android Studio, il n’imprime que:

02-10 15:56:10.190    6194-6194/org.example.my_app E/MyActivity﹕ ERROR onStart()
02-10 15:56:10.190    6194-6194/org.example.my_app W/MyActivity﹕ WARN onStart()
02-10 15:56:10.190    6194-6194/org.example.my_app I/MyActivity﹕ INFO onStart()

En haut de la boîte, le menu est défini sur Log level: “Verbose”, et si je vais dans le menu à côté, choisissez “Edit filter configuration”, “by Log Level” est également défini sur “Verbose”. Pourquoi les fonctions Log.d() et Log.v() n'impriment rien? Que pourrais-je manquer? Toute suggestion serait appréciée.

24
Paramaeleon

Android Studio filtre les lignes déjà connectées, mais Log lui-même peut filtrer certains niveaux lors de la journalisation. Voir Log.isLoggable :

Le niveau par défaut de toute balise est défini sur INFO.

(Toutefois, sur de nombreux téléphones, il est en fait défini sur DEBUG ou VERBOSE.)

15
StenSoft

Réponse acceptée ne fonctionne pas  

Ma solution:

quand votre Log.d ne fonctionne pas, alors Log.wtf est au travail

Cela fonctionne pour moi, peut-être est-ce utile pour les autres, qui trouvent la solution

22
Yogesh Rathi

Correction pour le téléphone meizu

Paramètres -> Accessibilité -> Options du développeur -> Avancé logging-> set "Autoriser tout"

Pour Meizu MX4 (Flyme 6.1.0.0), M2 (Flyme 6.1.0.0G), M5 (Flyme 6.3.0.0G):

Paramètres-> Accessibilité -> Options du développeur -> Performances optimisation -> journalisation avancée -> définir "Tout autoriser"

Huawei, logcat ne montre pas le journal de mon application?

Pour une autre recherche de téléphone dans "options pour les développeurs": option "journalisation" et définition de "tous".

6
Fortran

J'essayais tout. De log.d à log.wtf. Mais rien n'a fonctionné.

Ensuite, j'ai redémarré mon Android Studio. Après cela, le débogueur a recommencé à fonctionner.

J'espère que cela aide quelqu'un.

5
Nabin

Désactivez votre Option développeur puis Redémarrez votre téléphone Après cela option développeur Cela fonctionne vraiment bien!

3
sumit mehra

J'ai aussi affronté le même problème. Même en suivant les réponses précédentes, je n’ai pas trouvé le moyen d’afficher les journaux dans Logcat.

Après plusieurs essais, voici le (autre) moyen d’afficher les journaux:

 Logcat screenshot

Il suffit de sélectionner "Show only selected application" dans la liste déroulante pour faire le travail. Auparavant, c'était "Firebase" qui avait été sélectionné.

J'espère que vous verrez vos journaux ;-)

2
Serge Kishiko

Pour moi, le problème était que j'avais effectivement désactivé le tampon de journalisation dans les paramètres de mon développeur. Allez donc dans Paramètres -> Options pour les développeurs -> Taille du tampon de journalisation et réglez-le sur tout élément non désactivé.

0
faissaloo

Cela a commencé avec moi dans Android Studio 3. Je commençais à obtenir les anciennes impressions de Log.v, mais quand j'ai ajouté une nouvelle, rien ne s'est passé. Idem avec les points d'arrêt du débogueur.

Nettoyer la solution et redémarrer Android Studio a fonctionné pour moi, mais il existait une solution plus simple.

Désactiver Instant Run . Il semble qu'Instant Run ne reconnaisse pas les nouveaux Log.v ou les points d'arrêt.

En cours de route, j’ai également ajouté une configuration compatible avec Gradle à ma configuration Exécuter/Déboguer pour l’activité principale. Je ne sais pas si c'était nécessaire, mais je le garde. ([Main Menu] Run -> Edit Configurations...)

 Add Gradle-aware Make to Project Run configuration

0
Stephen Hosking