В нашем проекте мы используем Monolog Logger, и не смотря на то, что к нему есть комментарии к видам ошибок, мы расширили эти знания и применяем такие правила информирования об ошибках.
/** * Когда писать: чтобы отдебажить ситуацию на проде, потом удаляются. * Как много их может быть: можно много и часто, к примеру: * - все request/response, * - все sql-запросы в базу */ const DEBUG = 100; /** * Когда писать: чтобы отслеживать ситуацию на проде, не удаляются. * Как много их может быть: не много, к примеру: * - результат какой-нибудь проверки по длинному циклу * - запуск и завершение какой-нибудь консольной команы */ const INFO = 200; /** * Когда писать: это некритичные ошибки. * Как много их может быть: сколько угодно. * Это дефолтный уровень для логирования вещей вроде: * - пошли к поставщику с запросом по такому-то направлению, * - получили ответ, в нем N билетов, ждали M cекунд */ const NOTICE = 250; /** * для случаев вроде: * пришла ошибка от поставщика, но мы смогли это распарсить * нет маппинга для отеля (мы его показываем, и даже продать можем, но могут быть проблемы) * обнаружен конфликт в данных (опять же маппинг не консистентный, к примеру) * * для эксепшенов, которые обозначают ошибку, но в данноми конкретном месте мы их умеем хорошо обрабатывать, не роняя весь запрос. */ const WARNING = 300; /** * для ошибок в коде, непредвиденных эксепшенов */ const ERROR = 400;
Если Вы пишите конфиг и хотите выставить какой-либо уровень логирования по-умолчанию, обратите внимание:
Удачки.