-1 голос
 
109 просмотров
22.02.2020 / 19:17  Death

Правильные логи

Как правильно, логично, на продакшене выводить логи?

Я понимаю, что чем подробнее логи, тем легче потом ошибки исправлять.

Например, в файл нужно выводить debug уровень, а в консоль чем меньше, тем лучше.

И тут пришла дилемма, так как в спринг есть несколько способов конфигурации логов, я выбрал самый простой, но он урезанный, я указываю в конфиге 3 строчки, 2 на файлы настройку и третья на уровень общего логгирования. Что выводится в консоль, то и запишется в файл. То есть в консоль уровень debug будет спамить оооооооочень часто, что не есть хорошо для винды

Если ли это хорошо? Все свои наблюдения и опыт разработки, поделитесь пжл)

P. S. Есть подробная конфигурация, хоть на каждый объект логгера пиши в отдельные файлы, но это нужно изучить, разобрать, ибо библиотек для логгирования куча, и попробуй разобраться во всех и не запутаться. И чем проще, тем лучше
23.02.2020 / 07:21  Витаминыч
ну вот и разбирайся, что именно тебе удобнее будет. Верного решения нет
Ответы
 
0 голосов
 
# 23.02.2020 / 15:42  Askalite
1) Наиболее оптимальный вариант, это не писать логи вообще, поставив логи только на ошибки. То есть отлавливать ошибку и тут же выводить в лог.
2) Появилась проблема? Вот тут уже надо начинать обкладывать проблему логами, чтобы найти причину. Но потом, когда ты решил проблему, этот мусорный лог стоит удалить.
3) Есть ещё понятие лог результата. В программе есть очень мощный алгоритм, результат которого НЕ выводится на фасад, фротенд. Поэтому результат пишем в логи. В общем, выполнился алгоритм - выводим результат в логи через:
  1. if(IS_LOG_R) Log.i(line,result);
Если что телеметрию можно отключить установив IS_LOG_R в false.

В случае ошибки, лог ошибки дополняется логом результатов. Очень полезно, когда проьлема возникает у пользователя программы, а не у тебя. Позволяет быстрее локализовать проблему.

4) Ещё есть отдельные логи не принадлежащие твоему коду. Тут нужно либо отклбчить, либо минимизировать количество логов. Включать следует при поиске ошибок.

В общем, логгирование нужно для поиска проблем. Логи бывают временные, для локализации ошибки, логи результата, и библиотечные логи. Как оно бывает? Ошибку сначала ищут у себя, потом ищут в библиотеке, потом в ОС, потом в драйверах, и уже последнее в аппаратной части.
Всего: 1

Реклама

Мы в соцсетях

vk tw tg yt