Принципы логирования

Что логировать?

  • Нужно центролизованно логировать все http-запросы
  • Нужно централизованно логировать все исключения
  • Нужно логировать все аргументы сервисов приложения
  • Нужно логировать все аргументы клиентов
  • Нужно логировать ветвление логики (в самом ветвлении или после него)
  • Любые другие логи по усмотрению разработчика

Уровни логирования

  • ERROR – точно произошла ошибка
  • WARN – возможно произошла ошибка
  • INFO – обычно логи в начале функций
  • DEBUG – обычно логи в середине и в конце функций
  • TRACE – логирование больших данных

Нормальный уровень логов – DEBUG, поэтому на практике редко приходится думать, что положить в INFO, а что в DEBUG.

Куда логировать?

Логировать нужно в stdout, никаких файлов не надо.

Потом хорошо бы, чтобы эти логи собирались в какую-нибудь систему. Например, Kibana.