Проблему с логированием решил путем возвращения false для того, чтобы обработка ошибок перешла обработчику PHP, который и проведет журналирование.
set_error_handler(function($errno, $error_message, $err_file, $errline){
echo "<div class='error_message'>Произошла ошибка уровня $errno. Попробуйте заглянуть позже.</div>";
if (($errno == E_USER_ERROR) || ($errno == E_ERROR)) {
echo "<p>Fatal error. Program ending.</p>";
exit;
}
echo "<hr/>";
return false;
});
Еще можно и самостоятельно вести лог, но я хочу поручить это дело PHP.