Подтвердить что ты не робот

Тег регистрации может быть не более 23 символов

Начиная с обновления AS 1.1 Preview 2, я получаю красные строки под всеми сообщениями Log

Log.d(TAG, "message");

С сообщением: "Тег ведения журнала может содержать не более 23 символов..".

Я не обновлял ничего принципиально, кроме самой Android Studio. Это ошибка?

4b9b3361

Ответ 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

Вы никогда не сможете игнорировать эту проверку, это может привести к неожиданным результатам в вашей версии выпуска, поскольку она генерирует исключения и прекращает выполнение (это не приведет к сбою вашего приложения).

У меня был урок, который недавно был урок: он нормально работает в режиме отладки, но по версии выпуска по-разному.