Уровни регистрации Android

Android поддерживает различные уровни журналов, Verbose, Debug, Info, Warn и Error. Я понимаю, как работают уровни ведения журнала; Меня больше интересует типичный результат, ожидаемый для заданного уровня.

Например, при разработке приложения мне может быть любопытно, когда какой-то метод делает что-то (это часто бывает для целей отладки). Я просмотрю журналы, чтобы убедиться, что методы вызываются в ожидаемом порядке, если сетевой ответ - это то, что я думаю, это должно быть, если парсеры найдут нужную информацию и т.д.

Почему кто-то использует Verbose vs Debug vs Info?

С точки зрения разработчика, для первого, второго или стороннего приложения не все журналы для целей отладки? (предполагая, что разработчики не смотрят журналы для удовольствия... Я не такой садистский)

С точки зрения потребителя, когда s *** попадает в вентилятор, и им необходимо обратиться в службу поддержки клиентов, потому что их супер важное/деловое приложение не работает, разработчик использует журнал для целей отладки.

Единственная причина, по которой я мог видеть использование подробной информации или информации, - это, возможно, операции сбора/работы с хранилищами данных. Если да, зачем использовать verbose vs info.

Не уверен. Если я слишком смущаю это или фреймворк андроида...

Ответ 1

Я в основном следую тому, что Tomasz Nurkiewicz должен сказать при рассмотрении уровня ведения журнала:


ОШИБКА - произошло что-то ужасное, что нужно немедленно расследовать. Никакая система не может переносить элементы, зарегистрированные на этом уровне. Пример: NPE, недоступная база данных, критически важный вариант использования не может быть продолжен.

WARN - процесс может быть продолжен, но будьте осторожны. Пример: "Приложение, запущенное в режиме разработки" или "Административная консоль не защищена паролем". Приложение может переносить предупреждающие сообщения, но они всегда должны быть оправданы и проверены.

INFO - завершен важный бизнес-процесс. В идеальном мире администратор или продвинутый пользователь должен понимать сообщения INFO и быстро узнать, что делает приложение. Например, если заявка касается бронирования авиабилетов, в каждом билете должна быть указана только одна заявка INFO, в которой говорится: "[Кто] забронировал билет с [Где] до [Где]". Другое определение сообщения INFO: каждое действие значительно изменяет состояние приложения (обновление базы данных, внешний системный запрос).

DEBUG - разработчики.

VERBOSE - очень подробная информация, предназначенная только для разработки. Вы можете сохранять сообщения трассировки в течение короткого периода времени после развертывания в рабочей среде, но относить эти операторы журналов как временные, которые в конечном итоге должны быть или могут быть отключены. Различие между DEBUG и VERBOSE является наиболее сложным, но если вы поместите инструкцию регистрации и удалите ее после того, как функция была разработана и протестирована, она, вероятно, должна быть на уровне VERBOSE.


Мой самый любимый уровень - WTF (2.2+), который, как предполагается, будет означать "Что такое ужасная неудача", для ситуаций, которые никогда не должны происходить.

Обычно я использую "информацию" для простых сообщений.