Представь что у тебя конкурентная логика и очень много ветвлений
Сколько времени ты будешь вставлять логи? По хорошему надо делать отдельную инфраструру для дебаг режима – это нормально и правильно для бизнес логики, но если логика пакета не предполагает io, то это становится просто усложнением кода, которое 90% времени не используется
я поддерживаю log-driven development, у меня почти нет тестов (это херово, но речь о петпроджекте, на который времени не 40ч в неделю за зп)
начали с 1000 строк кода, уже под 20к, логи понатыканы везде где нужно через zap и обертки
как используем? Пишет юзер, что у него что-то пошло не так, мы берем userId и находим его сессии, далее по сессиям все что происходило и где оборвалось
что логгируем? user/session айди, входные данные, результаты обработки — в итоге всегда легко воспроизводится в любых окружениях, порой с планшета видно как и что 🙂 Ну и конечно prometheus/postgres метрики чтобы глобально что-то видеть и анализировать