Bạn có thể mở rộng lớp lõi ngoại lệ để làm điều đó.
Có thể phải điều chỉnh tham chiếu đến lớp email của CI, không chắc chắn bạn có thể khởi tạo nó từ thư viện như thế này hay không. Tôi không sử dụng lớp email của CI, tôi đã sử dụng thư viện Swift Mailer. Nhưng điều này sẽ giúp bạn đi đúng hướng.
Thực hiện một MY_Exceptions.php tập tin và đặt nó vào/application/thư viện/(Hoặc trong/application/core/cho 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);
}
}
Chỉnh sửa ở trên, cần phải đa dạng hóa Ngoại lệ. MY_Exceptions.php MY_Exceptions lớp kéo dài CI_Exceptions { \t My_Exceptions function() { \t \t \t parent :: CI_Exceptions(); \t} ... (sử dụng CI phiên bản 1.7.1) – Jay
tôi đã cố gắng giống nhau nhưng email không gửi ... Tôi đã thử nghiệm nó bằng cách thay đổi '$ dữ liệu [ "query_root_menu"] = $ t' vào '$ dataA [" query_root_menu "] = $ t' Xin hãy giúp tôi, nó rất cần thiết cho tôi để tìm hiểu điều này –