В мире DevOps и SRE логи давно перестали быть «просто текстом». Это сигнальная система, нервная сеть продакшна. И именно поэтому мысль, сформулированная Chris Siebenmann, звучит почти как аксиома, которую почему-то регулярно игнорируют:
если событие не требует обязательного исправления — это не ERROR. На первый взгляд — занудство. На практике — разница между управляемой системой и хаосом. Многие сервисы сегодня логируют как ERROR всё подряд: ⚙️ временно недоступный внешний сервис
🌐 неответивший удалённый хост
📨 не доставленное письмо
⏱️ таймаут операции, которая будет повторена Формально — «ошибка операции».
Фактически — система работает ровно так, как задумано. И вот здесь начинается беда:
когда ERROR перестаёт означать «сломалось», он перестаёт что-либо означать вообще. Один из самых важных тезисов статьи — различие уровней ответственности: 🧩 ошибка операции — конкретное действие не удалось
🏗️ ошибка программы — система в целом работает неправильно Если SMTP-клиент не смог достуч