Получение звонков в журнал? например, Log.w() Log.e() Log.i()

Для приложения, которое я разрабатываю, я хочу упростить поиск и устранение неисправностей, как в процессе разработки, так и после выпуска. Я хочу иметь возможность получать звонки на Log когда приложение запускается без телефона, подключенного в режиме отладки через USB, его можно получить и отправить мне. Например, когда приложение вылетает или когда Log.e(...) называется, журнал истории (звонки в Log.i(), Log.w()) может быть отправлен на сервер, или пользователь может отправить его мне вручную.

Как это можно сделать?

Кроме того, должна ли техника меняться в зависимости от того, находится ли приложение в разработке или выпуске? (Знаю с андроида Log документы, которые Log.v(...) не следует компилировать в версии выпуска - есть ли лучший способ, чем закомментировать все эти вызовы?)

Возможно, имеет смысл продлить Log или накатить свое, но дьявол кроется в деталях.

2 ответа

Решение

Для извлечения журналов сбоев есть библиотека ACRA. Acra отправит отчеты о сбоях на ваш сервер. Кроме того, в Google Play также имеется вкладка сбоев и ANR в консоли разработчика, где хранятся отправленные пользователем отчеты о сбоях. Отчет о сбое консоли Google Play очень прост в использовании и предоставляет дополнительную информацию о количестве таких же сбоев и версии приложения, в котором произошел сбой.

В моем приложении я создал класс LogWrapper, который, как и следовало ожидать, оборачивает вызовы журнала. Внутри каждого метода я проверяю BuildCondig.DEBUG флаг, чтобы определить, нахожусь ли я в режиме отладки или выпуска.

Кроме того, мой LogWrapper проверяет, какой метод совершал вызов, и добавляет его в meassge, обычно он недоступен при использовании класса Log напрямую.

Если приложение находится в режиме отладки, я передаю вызовы журнала в класс Log, в противном случае я передаю вызовы журнала сторонней библиотеке, Crashlytics в моем случае. Существует больше инструментов аварийного завершения, например, Hockeyapp также рекомендуется для платформы.

Другие вопросы по тегам