Depuis la mise à jour AS 1.1 Preview 2, je reçois des lignes rouges sous tous mes messages Log
Log.d(TAG, "message");
Avec message: " La balise de journalisation peut comporter au maximum 23 caractères .. ".
Je n'ai fondamentalement rien mis à jour, à l'exception d'Android Studio. Est-ce un bug?
Non, ce n'est pas un bug.
De Changements récents d'Android Studio sur 1.1 Preview 2 ,
Vérifie que la balise transmise aux appels de journalisation, si sa valeur peut être résolue, comporte au plus 23 caractères (comme requis par l'API de journalisation).
Comme expliqué brièvement sur les modifications récentes, cela est dû au fait que Log
API n'autorise pas les balises de plus de 23 caractères.
SLF4J Android a une explication à cela:
[...] la longueur de telles étiquettes est actuellement limitée à 23 caractères (23 = 32 - 8 pour le préfixe d'espace de nom - 1 pour le terminateur C)
qui correspond au code source d'Android .
Actuellement, la seule fonction mentionnant explicitement cette exception est Log.isLoggable()
,
...
Jette
IllegalArgumentException est levé si le tag.length ()> 23.
Cependant, en fonction des commentaires, le consignateur lève apparemment l'exception en mode release (elle est ignorée en mode débogage).
Vous pouvez désactiver la vérification des peluches en suivant La réponse de Terence , mais vous avez été prévenu.
Vous pouvez le désactiver si vous le souhaitez.
Dans Android Studio, Analysez-> Inspectez le code.
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".
Mise à jour: Android Studio 2.2, il se trouve sous Android Lint: Correctness
Compléter la réponse par @Terence
Vous pouvez également désactiver la vérification 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:
<?xml version="1.0" encoding="UTF-8"?>
<lint>
<issue id="LongLogTag" severity="ignore" />
</lint>
Vous ne pouvez jamais ignorer cette vérification de la charpie, elle pourrait certainement entraîner des résultats inattendus sur votre version car elle lève des exceptions et cesse de s’exécuter (cela ne planterait pas votre application).
J'ai récemment appris une terrible leçon: tout va bien en mode débogage, mais vous vous comportez différemment selon la version.
C'est un changement récent et dans cette version, c'est un nouveau test anti-peluche. 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 requis par l'API de journalisation.)
Pour plus d'informations, lisez le 3ème point du 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 de votre balise et assurez-vous qu'ils ne franchissent pas la longueur de plus de 23.