Вы можете расширить базовый класс Exception, чтобы сделать это.
Возможно, придется настроить ссылку на класс электронной почты CI, но не уверен, что вы сможете создать его из библиотеки, подобной этой. Я сам не использую класс электронной почты CI, я использую библиотеку Swift Mailer. Но это должно привести вас на правильный путь.
Создайте файл MY_Exceptions.php и поместите его в / application / library / (Или в / application / core / для CI 2)
class MY_Exceptions extends CI_Exceptions {
function __construct()
{
parent::__construct();
}
function log_exception($severity, $message, $filepath, $line)
{
if (ENVIRONMENT === 'production') {
$ci =& get_instance();
$ci->load->library('email');
$ci->email->from('your@example.com', 'Your Name');
$ci->email->to('someone@example.com');
$ci->email->cc('another@another-example.com');
$ci->email->bcc('them@their-example.com');
$ci->email->subject('error');
$ci->email->message('Severity: '.$severity.' --> '.$message. ' '.$filepath.' '.$line);
$ci->email->send();
}
parent::log_exception($severity, $message, $filepath, $line);
}
}