Możesz rozszerzyć klasę jądra Exception, aby to zrobić.
Może być konieczne dostosowanie odwołania do klasy wiadomości e-mail CI, ale nie jest pewne, czy można utworzyć instancję z takiej biblioteki. Nie używam samej klasy wiadomości e-mail CI, korzystam z biblioteki Swift Mailer. Ale powinno to doprowadzić cię na właściwą drogę.
Zrób MY_Exceptions.php pliku i umieścić go w katalogu/aplikacji/biblioteki/(lub w/application/core/dla 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('[email protected]', 'Your Name');
$ci->email->to('[email protected]');
$ci->email->cc('[email protected]');
$ci->email->bcc('[email protected]');
$ci->email->subject('error');
$ci->email->message('Severity: '.$severity.' --> '.$message. ' '.$filepath.' '.$line);
$ci->email->send();
}
parent::log_exception($severity, $message, $filepath, $line);
}
}
Korekta powyższego, wymaga odszukania wyjątków. MY_Exceptions.php klasy MY_Exceptions rozciąga CI_Exceptions { \t My_Exceptions funkcyjnych() \t { \t \t macierzystych :: CI_Exceptions(); \t} ... (używając CI wersji 1.7.1) – Jay
Próbowałem to samo, ale nie wysyła email ... Ja testowałem to przez zmianę '$ dane [ "query_root_menu"] = $ t' do '$ dataA [" query_root_menu "] = $ t' Proszę, pomóżcie mi, jest to bardzo potrzebne, abym się tego nauczył –