Я собираюсь сделать некоторые рефакторинги с моего приложения, и я подумал об этой простой, но сложной теме, протоколировании, как это может быть так сложно сделать чистую, эффективную и информативную регистрацию...
Когда вы читаете документацию по регистрации, вы часто видите этот фрагмент
if (BuildConfig.DEBUG) {
Log.d(TAG + "message");
}
и это заставляет меня задаться вопросом, что с ним связано? Согласно документации, Android Developer - Журнал, сообщения журнала отладки компилируются, но удаляются во время выполнения, поэтому вам не нужно будет log вызов внутри этого оператора if. Или я ничего не понимаю?
Затем я также задаюсь вопросом, какова реальная польза от использования любых других вызовов Log.x(), кроме отладки, поскольку записи журнала не будут видны пользователю или не войдут в какой-либо файл ошибок, поэтому они будут скомпилированы в и выполняются в производственной среде без какой-либо цели? Возможно, это вариант использования для инструкции if?
Ранее я упоминал, что запись в журнал не записывается в файл. Почему это не встроенная функция в Android? Это из-за проблем с производительностью, ненужного использования разрешений или чего-то еще? Я реализовал эту функцию в своем собственном классе ведения журнала, но теперь мне интересно, не плохо ли это? Но также хорошо иметь журналы с важными записями журнала?
Итак, чтобы завершить его, внедрить чистую, эффективную и информативную регистрацию, как во время разработки, так и в процессе производства. Какие лучшие практики?