La balise de consignation peut contenir au plus 23 caractères

Depuis la mise à jour AS 1.1 Preview 2, je reçois des lignes rouges sous tous mes messages de Log

 Log.d(TAG, "message"); 

Avec le message: ” La balise de consignation peut contenir au plus 23 caractères .. “.

Je n’ai rien mis à jour fondamentalement, à l’exception d’Android Studio lui-même. Est-ce un bug?

Non, ce n’est pas un bug.

Depuis les modifications récentes d’Android Studio sur la version 1.1 Aperçu 2 ,

Vérifie que la balise transmise aux appels de journalisation, si sa valeur peut être résolue, comporte au maximum 23 caractères (comme requirejs par l’API de journalisation).

tag de journalisation était 31

Comme expliqué brièvement sur les modifications récentes, cela est dû à la façon dont l’API de Log n’autorise pas les balises dépassant 23 caractères.

SLF4J Android a une explication à cela:

[…] la longueur de ces tags est actuellement limitée à 23 caractères (23 = 32 – 8 pour le préfixe d’espace de nommage – 1 pour le terminateur C)

qui correspond au code source d’Android .

Actuellement, la seule fonction qui mentionne explicitement cette exception est Log.isLoggable() ,

Jette

IllegalArgumentException est levé si le tag.length ()> 23.

Cependant, sur la base des commentaires, le logger jette apparemment l’exception en mode release (il est ignoré en mode debug).

Vous pouvez désactiver la vérification des peluches en suivant la réponse de Terence , mais vous avez été averti.

Vous pouvez le désactiver si vous le souhaitez.

Dans Android Studio, Analyze-> Inspect Code.

capture d'écran

Sous Profil d’inspection, cliquez sur le bouton avec les 3 points horizontaux.

La fenêtre suivante devrait s’ouvrir. Recherchez “log” et décochez “Too Long Log Tags”.

capture d'écran

Mise à jour: Android Studio 2.2, il se trouve sous Android Lint: Correct

capture d'écran

Compléter la réponse par @Terence

Vous pouvez également désactiver le contrôle spécifique via gradle avec ceci dans votre fichier build.gradle:

 lintOptions { disable 'LongLogTag' } 

Ou en ajoutant un fichier lint.xml à votre projet avec xml:

     

Vous ne pouvez jamais ignorer cette vérification des peluches, cela pourrait certainement entraîner des résultats inattendus sur votre version car elle génère des exceptions et arrête l’exécution (cela ne planterait pas votre application).

J’ai eu une leçon terrible apprise récemment: c’est OK sur le mode de débogage, mais se comporte différemment sur la version de sortie.

C’est un changement récent et dans cette version, c’est un nouveau contrôle des peluches. Ce qui dit,

Vérifie que la balise transmise aux appels de journalisation, si sa valeur peut être résolue, comporte au maximum 23 caractères (comme requirejs par l’API de journalisation).

Pour plus d’informations, lisez le 3ème point dans le lien ci-dessous.

https://sites.google.com/a/android.com/tools/recent/androidstudio11preview2

Si vous ne voulez pas l’obtenir, réduisez le nombre de caractères dans votre TAG et assurez-vous qu’ils ne dépasseront pas la longueur supérieure à 23.