Самое распостранённое решение задать свой обработчик ошибок через set_error_handler. Далее все зависит от вашей фантазии. В различных CMS и фреймворках это релизовано по разному. Хотя некоторые моменты могут быть одинаковы. Например, если сайт находится в dev окружении или текущий пользователь имеет право видеть отладочные сообщения, то можно выводить ошибки сразу в браузер, учитывая при этом текущий error_reporting. Логирование ошибок обычно интегрировано в общую систему логирования сообщений на сайте (если таковая имется). Если эта система модульная, то можно переключая хэндлеры изменять тип логирования (БД, syslog, email и т.д.).
Пример такого логгера https://github[dot]com/Seldaek/monolog
|