Отладка является неотъемлемой частью процесса разработки программного обеспечения. Она помогает выявлять и исправлять ошибки в коде или повышать производительность приложения.
Android logcat позволяет нам просматривать логи Android-устройства или эмулятора. Это полезный инструмент для отладки, поскольку он предоставляет подробную информацию о состоянии приложения и устройства в данный момент времени. Недавно была представлена новая версия logcat. Она стала доступна в Android Studio Dolphin (2021.3) в качестве экспериментальной функции. Android Studio Electric Eel (2022.1) включает новый logcat, активированный по умолчанию.
5 лучших функций нового logcat
Новая версия logcat включает в себя не только редизайн, но и улучшения и новые функции, которые упрощают чтение логов и помогают быстрее находить нужную информацию. Кроме того, вы можете иметь несколько окон logcat внутри Android Studio.
Давайте проверим самые интересные функции нового релиза.
Дополнительные логи при запуске и остановке приложения
Новый logcat отображает дополнительные сообщения при запуске или остановке приложения (закрытии или сбое).
Такие заметки включают сообщение, идентификатор процесса и имя пакета.
// application started --- PROCESS STARTED (32485) for package com.alexzh.testapp --- // application stopped --- PROCESS ENDED (32354) for package com.alexzh.testapp ---
Запросы
В предыдущей версии logcat у нас был «поиск» на главном экране, а фильтры располагались в отдельном меню.
Основная проблема такого подхода в том, что параметры фильтра всегда были скрыты от разработчика.
В новой версии logcat объединяет поиск и фильтр в поле ввода запроса и отображает его на главном экране.
Давайте взглянем на конкретные ключи, которые можно использовать для фильтрации записей журнала:
- Package
- Пакет локального приложения: package:mine
- Идентификатор пакета: package:<package-ID>
- Уровень лога: level:[VERBOSE | INFO | ASSERT | DEBUG | WARN | ERROR]
- Тег: tag:<tag>
Примеры использования конкретных значений для фильтрации записей журнала.
Пример: Показать журналы с уровнями WARN и ERROR.
Запрос: package:mine level:WARN
Пример: Отображение логов с тегом «HomeScreen», в которых сообщение начинается с текста «test log».
Запрос: package:mine tag:HomeScreen test log
Чтобы исключить записи журнала, вы можете использовать знак «-» перед ключом (-tag:<exclude-tag>).
Пример: Показать журналы для всех тегов, которые начинаются с префикса «HomeScreen», и исключить журналы для тега «HomeScreenSettings».
Запрос: package:mine tag:HomeScreen -tag:HomeScreenSettings
Если вы хотите использовать регулярное выражение в журналах, вы можете использовать «~» после ключа (tag~:<regular-expression-tag>).
Пример: Показать журналы, которые имеют тег с постфиксом «Nav».
Запрос: package:mine tag~:.*Nav
Мы можем фильтровать журналы по диапазону отметок времени, используя параметр age:<number><unit>.
- age:30s возвращает логи за последние 30 секунд
- age:2m возвращает логи за последние 2 минуты
- age:1h возвращает логи за последний час
- age:2d возвращает логи за последние 2 дня
Вы можете найти все сбои и трассировки стека, используя ключ is.
- is:crash возвращает записи журнала, которые представляют сбои
- is:stacktrace возвращает записи журнала, которые представляют все, что похоже на трассировку стека Java.
История запросов
В последней версии logcat есть несколько улучшений в «Истории запросов». Теперь мы можем удалять запросы из истории, помечать запросы как избранные или задавать конкретное имя для запроса.
Каждый фильтр запроса также показывает количество найденных записей журнала.
Форматирование
Новый logcat предоставляет несколько вариантов форматирования:
- Стандартный вид
- Компактный вид
Мы можем изменить активное представление, щелкнув значок «Настроить параметры форматирования Logcat» в левой части окна logcat.
«Стандартный вид» показывает всю доступную информацию: отметку времени (дата и время), идентификатор процесса (включая идентификатор потока), теги, имя пакета, уровень журнала и сообщение.
«Компактный вид» отображает метку времени (время), уровень журнала и сообщение.
Чтобы изменить оба предопределенных представления, нам нужно щелкнуть значок «Настроить параметры форматирования Logcat» и выбрать «Изменить представление». Все изменения будут применены к выбранному представлению.
Исходя из своих задач, я обычно использую метку времени (формат времени), тег и сообщение. После минуты на настройку, logcat теперь выглядит намного чище.
Несколько окон logcat
Мы можем создать столько вкладок logcat, сколько нам нужно, нажав значок «Новая вкладка».
Каждая вкладка позволяет использовать несколько окон logcat. Это может быть полезно, если вы хотите использовать разные запросы для каждой панели или проверять логи для разных устройств. Мы можем разделить окно logcat на две части, щелкнув правой кнопкой мыши журналы и выбрав «Разделить вправо» или «Разделить вниз».
Заключение
Новая версия logcat в Android Studio имеет новый пользовательский интерфейс и улучшила существующие функции, а также добавила несколько новых. Я надеюсь увидеть еще больше улучшений в будущем.
5 главных особенностей:
- Дополнительные журналы при запуске, остановке или сбое приложения
- Несколько вкладок и окон logcat позволяют пользователю одновременно анализировать данные с разных устройств.
- Параметры форматирования записей журнала можно настроить, и мы можем видеть только необходимую информацию
- Поиск и фильтры были объединены в поле ввода запроса, которое всегда видно, включая дополнительные операторы фильтрации, такие как is:crush, эксклюзивные операторы (-tag:<exclude-a-tag>) и многое другое.
- Большинство используемых запросов можно сохранить как избранное, и у вас будет больший контроль над историей запросов.