Требования к логированию#

  • Текст сообщения в логе должен быть лаконичным и максимально информативным.

  • Обязательно логирования тела запроса/ответа, однако состав логируемых параметров определяется в требованиях к разрабатываемой функциональности (для исключения логирования персональных данных).

  • В лог-файле должен быть зафиксирован максимальный объем информации, который может потребоваться для решения возможного инцидента, анализа работы приложения/сервиса/службы/задачи или создания метрики мониторинга.

  • При обработке rest-запросов обязательно логирование как их фактов, так и тел запросов/ответов с сохранением исходного формата (json или xml), если в требованиях не оговорено иное.

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

  • С уровнем DEBUG должна логироваться информация, необходимая для выяснения в какой момент и почему произошла ошибка.

  • С уровнем TRACE должна логироваться информация, необходимая разработчику на этапе отладки приложения.

  • С уровнем ERROR должны логироваться все ошибки, возникающие в приложении.

  • С уровнем WARNING должны логироваться сообщения о предупреждениях когда возникают ситуации, которые косвенно могут привести к ошибке.

  • Все логируемые данные должны содержать уникальный идентификатор события (например, запроса).

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