Skip to content

Latest commit

 

History

History
41 lines (30 loc) · 2.64 KB

File metadata and controls

41 lines (30 loc) · 2.64 KB

Главная

Логгирование

Логгирование в logcat осуществляется с помощью Logger.

В обязательном порядке следует логгировать:

  • Url запросов и статус ответов сервера

  • NonFatalExceptions (состояния приложения, когда часть его функционала неправильно отработала, но при этом приложение может продолжать работать), например - неправильный парсинг ответа сервера. В этом случае логгируется еще и тело ответа сервера.

  • Основные события экранов

Все эти логи следует отсылать на удаленный сервер (мы используем Firebase Crashlytics). Трекинг этих событий позволяет быстрее понять, где и из-за чего произошла та или иная ошибка.

Важно :

  • Оставлять логи, которые не несут важной информации запрещено.
  • Не оставляем пустые обработчики ошибок rx потока.
  • Не пишем e.printStackTrace().
  • Не забиваем Firebase Crashlytics ненужными NonFatal.

Примечание: для того, чтобы не загрязнять Firebase Crashlytiсs ошибками из Debug-версии приложения, можно выделить эту версию в отдельный проект(добавить постфикс к package-name и завести это приложение в Firebase).

Совет: удобно логгировать также некоторые пользовательские данные, например id, email при входе в аккаунт (для быстрой связи с пользователем, у которого произошла ошибка), какие-либо пары ключ-значение(доп. информация о приложении на момент сбоя).

Для отслеживания ANR применяется библиотека AnrWatchDog. При детектировании ANR соответствующий NonFatal следует отправлять на удаленный сервер.