![]() |
Где и как лучше вести лог ошибок в PHP?
Логирование ошибок — тема, которая часто вызывает вопросы. Кто-то просто включает display_errors в php.ini, кто-то пишет свой обработчик, а кто-то гоняется за более продвинутыми штуками. Вот что обычно советую обратить внимание:
1. error_log в php.ini — самый простой вариант. Просто указываешь путь к файлу, ошибки сыплются туда. Главное — чтобы веб сервер имел права на запись. 2. set_error_handler() и set_exception_handler() — если нужна кастомизация. Можно обработать ошибки по-своему: форматировать, отправлять в БД, SMS и т.п. Но тут надо знать, что не все ошибки ловятся. 3. Monolog — большая и популярная библиотека. Там куча вариантов каналов логов (файл, syslog, Slack и тд). Особенно выручает, если проект серьезный. 4. Использование системных логов через syslog — удобно для централизации, но требует настройки сервера. 5. Встроенный лог ошибок веб-сервера (nginx/apache) — можно смотреть туда, но там не всегда хватает контекста из PHP. 6. И помните про уровни ошибок (error_reporting) — полезно фильтровать, чтобы не захламлять лог несущей ерунды. Если просто попробовать настроить php.ini — вот ключевые параметры: display_errors = Off (на продакшене) log_errors = On error_log = /путь/к/файлу.log У кого какие варианты ловить ошибки? Может, еще что интересное используете? |
| Время: 20:22 |