Логирование ошибок — тема, которая часто вызывает вопросы. Кто-то просто включает 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
У кого какие варианты ловить ошибки? Может, еще что интересное используете?