ANTICHAT

ANTICHAT (https://forum.antichat.io/index.php)
-   PHP (https://forum.antichat.io/forumdisplay.php?f=37)
-   -   Где и как лучше вести лог ошибок в PHP? (https://forum.antichat.io/showthread.php?t=9002593)

10000 29.07.2026 12:30

Где и как лучше вести лог ошибок в 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