Тег регистрации может быть не более 23 символов
Начиная с обновления AS 1.1 Preview 2, я получаю красные строки под всеми сообщениями Log
Log.d(TAG, "message");
С сообщением: "Тег ведения журнала может содержать не более 23 символов..".
Я не обновлял ничего принципиально, кроме самой Android Studio. Это ошибка?
Ответы
Ответ 1
Нет, это не ошибка.
Из Android Studio Последние изменения в 1.1 Preview 2,
Проверяет, что тег, переданный на вызовы регистрации, может быть разрешен, имеет длину не более 23 символов (в соответствии с требованиями API ведения журнала).
![logging tag was 31]()
Как кратко объяснили последние изменения, это связано с тем, что Log
API не позволяет тегу превышать 23 символа.
У телефона SLF4J есть объяснение:
[...] длина таких тегов ограничена в настоящее время 23 символами (23 = 32 - 8 для префикса пространства имен - 1 для терминатора C)
который соответствует исходному коду Android.
В настоящее время единственной функцией, которая явно упоминает это исключение, является Log.isLoggable()
,
...
Выдает
IllegalArgumentException генерируется, если tag.length() > 23.
Однако, основываясь на комментариях, по-видимому, регистратор действительно генерирует исключение в режиме выпуска (он игнорируется в режиме отладки).
Вы можете отключить проверку ворса, выполнив ответ Terence, но вы были предупреждены.
Ответ 2
Вы можете отключить его, если захотите.
В Android Studio, Analyze- > Inspect Code.
![screenshot]()
В разделе "Профиль осмотра" нажмите кнопку с тремя горизонтальными точками.
Откроется следующее окно. Найдите "журнал" и снимите флажок "Слишком длинные теги журнала".
![screenshot]()
Обновление: Android Studio 2.2 находится под Android Lint: Правильность
![screenshot]()
Ответ 3
В дополнение к ответу @Terence
Вы также можете отключить конкретную проверку с помощью gradle с этим в файле build.gradle:
lintOptions {
disable 'LongLogTag'
}
Или добавив файл lint.xml в ваш проект с помощью xml:
<?xml version="1.0" encoding="UTF-8"?>
<lint>
<issue id="LongLogTag" severity="ignore" />
</lint>
Ответ 4
Это недавнее изменение и в этой сборке - новая проверка линта. Что говорит,
Проверяет, что тег, переданный на вызовы регистрации, может быть разрешен, имеет длину не более 23 символов (в соответствии с требованиями API ведения журнала).
Для получения дополнительной информации прочитайте 3-ую ссылку в ссылке ниже.
https://sites.google.com/a/android.com/tools/recent/androidstudio11preview2
Если вы этого не хотите, свести к минимуму количество символов в вашей TAG и убедиться, что они не пересекают длину более 23.
Ответ 5
Вы никогда не сможете игнорировать эту проверку, это может привести к неожиданным результатам в вашей версии выпуска, поскольку она генерирует исключения и прекращает выполнение (это не приведет к сбою вашего приложения).
У меня был урок, который недавно был урок: он нормально работает в режиме отладки, но по версии выпуска по-разному.