tgoop.com/dev_easy_notes/302
Last Update:
Я в одном из предыдущих постов писал про то, что в Gradle логирование сделано хреново. Однако вы вообще задумывались где оно сделано нормально? Вот смотрите что я имею в виду.
Возьмем уровни логирования, которые есть в каждой либе: debug, info, warning, error. Уровень debug, это какая-то отладочная информация, которая нужна разработчику помогающая понять, что произошло на устройстве, чтобы найти причину бага. Тут все понятно. Есть error, это буквально когда произошла прям критичная ошибка или приложение вообще упало. Опять-таки это информация для разработчика, чтобы он понял что конкретно нужно фиксить.
А вот warning это про что? Как бы произошла ошибка, но не критичная? Ну можно представить, что это момент когда мы не падаем, но отправляем в крашлитику событие, что у нас что-то пошло не так, допустим. А info это что за зверь? Это уже не уровень debug, но при этом и не ошибка. По названию это как будто бы инфа которую нужно показать пользователю и кстати в CLI программах так и делают, но как будто бы лог это не про показ информации пользователю, а исключительно отладочная инфа.
Если разработчик будет исследовать логи в поисках ошибки, крайне мало вероятно, что он ограничится уровнем info и не будет использовать debug. Другими словами если мы ищем ошибку, нам нужен как уровень debug так и уровень info. В таком случае вообще не очевидно зачем это разделять.
Я еще при этом не упоминал уровни вроде: trace, verbose, fatal, тут вообще пади разбери кто за что отвечает. При этом либы еще могут свои уровни добавлять. В Timber есть уровень логирования wtf. Это уровень, который ломает 4-ю стену, ты мысленно произносишь wtf когда его видишь.
Получается пытаясь решить проблему того, что либы срут кучу всякой лишней инфы в лог, мы пытаемся защититься уровнями логирования. Но это не работает, потому что ты все равно либо фильтруешь по error либо смотришь все логи. Потому как другой разраб мог сделать важный лог как info, так и warn. Да ты и сам каждый раз в растерянности: это warn, это info или это debug? Как будто тратим усилия на решение выдуманной задачи.
BY Dev Easy Notes
Share with your friend now:
tgoop.com/dev_easy_notes/302