Логи - это не "давайте залогируем все".
К логам стоит относиться как к инженерной задаче: с целями, рисками, стоимостью и требованиями. Мы это уже поняли отсюда Главная цель логов - помочь разобраться, что произошло, а не просто оставить след в истории. Хотя аудит логи можно приравнять к следу в истории, но мы разберем в первую очередь инженерные логи. Почти всегда нужны структурированные логи. Хотя я с ходу не придумал когда они нужны не структурированные.
Не потому что JSON модный, а потому что: 1. Стандартный logging (stdlib)
Подходит, если: Минус - структурированность приходится продумывать и поддерживать самостоятельно. 2. structlog - мой любимчик
Почему его часто выбирают: Есть еще loguru, но я его не использовал. Мне как правило хватает structlog. Лог-уровни - это контракт
DEBUG - временно и осознанно. Выключен в продакшене
INFO - важные бизнес-события
WARNING - деградация, аномалия, требует внимание разработчика, но не блокер работы сервиса
ERROR - ошибка операции
CRITICAL -