45. Записываем и смотрим логи
Начиная с iOS 14 можно пользоваться логгером для записи логов, которые потом можно посмотреть разными способами, в том числе выгрузить с девайса и открыть в стандартном Console.app на маке.
При этом с iOS 15 можно прямо в коде выгружать и смотреть логи с использованием OSLogStore.
В этой статье покажу как можно работать с логами:
- На главном экране загрузим данные из интернета (список постов)
- В навбаре будет кнопка для перехода на экран с логами
- На экране с логами можно будет фильтровать логи по категории и уровню
Для примера будем логировать начало/окончание загрузки данных и ошибки.
С точки зрения влияния на производительность выгоднее использовать уровень логов debug, который также не сохраняется на девайсе во время работы приложения.
На iOS < 17 во время работы Xcode логи выглядят следующим образом:
Их можно удобно фильтровать в отличие от обычных принтов
На iOS 17+ доступно больше опций для отображения логов
Рекомендую посмотреть пару полезных видео, если тема заинтересовала:
Выгрузить логи с девайса можно через терминал по команде
sudo log collect -device -start '2023-12-10 12:41:00' —output myApp.logarchive
Время лучше указать с небольшим запасом, за несколько минут до возникновения бага.
Код для этой статьи можно посмотреть тут, а другие статьи - тут.