> Как смотреть логи мобильного приложения и какими способами? (iOS, Swift, Android)

Уровень: middle · Роль: qa · Категория: Технические вопросы

Компании: Т-Банк, Ozon

Стек: iOS, Swift, Android

> Пример ответа

Для просмотра логов мобильного приложения на iOS и Android используются разные инструменты, но подходы схожи.

На iOS (Swift):

  • Xcode Console: при запуске приложения через Xcode логи выводятся в консоль. Используйте print() или os_log для структурированного вывода.

  • OSLog Framework: более гибкий инструмент, позволяющий фильтровать логи по категориям и уровням (default, info, debug, error). Просмотр через Console.app на Mac или команду log stream в терминале.

  • Device Logs: для физического устройства - через Xcode (Window → Devices and Simulators) или сторонние утилиты (например, iMazing).

На Android:

  • Logcat: основной инструмент. Доступен в Android Studio (Logcat window) или через командную строку (adb logcat). Фильтруйте по тегу (-s MyTag), уровню (-v brief) или PID.

  • ADB (Android Debug Bridge): adb logcat -v time > log.txt для записи в файл. Полезно для удаленного сбора логов.

  • Сторонние библиотеки: Timber (упрощает логирование) или Firebase Crashlytics (для сбора ошибок в продакшене).

Общие способы:

  • Фильтрация: по уровню (ERROR, WARN, DEBUG) и тегу, чтобы не захламлять вывод.

  • Сбор с устройства: для iOS - через Xcode/Console, для Android - через ADB или USB-отладку.

  • Продакшен-логи: используйте Crashlytics, Sentry или собственный сервер (например, отправка логов через HTTP).

Пример для Android через ADB:

BASH
adb logcat -s MyAppTag:* -v time > app_logs.txt

Пример для iOS через os_log в коде:

SWIFT
import os.log
let log = OSLog(subsystem: "com.yourapp", category: "network")
os_log(.error, log: log, "Ошибка загрузки: %@", error.localizedDescription)

Совет: всегда используйте уровни логирования (debug для разработки, error для критических ошибок) и избегайте вывода чувствительных данных в продакшене.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью