이메일을 통해 오류 로그를 수신하고 싶습니다. 예를 들어 Warning-level
오류 메시지가 발생하면 그에 대한 전자 메일을 보내고 싶습니다.CodeIgniter에서 PHP 오류 메시지를 나에게 이메일로 보낼 수 있습니까?
CodeIgniter에서 어떻게 작동합니까?
이메일을 통해 오류 로그를 수신하고 싶습니다. 예를 들어 Warning-level
오류 메시지가 발생하면 그에 대한 전자 메일을 보내고 싶습니다.CodeIgniter에서 PHP 오류 메시지를 나에게 이메일로 보낼 수 있습니까?
CodeIgniter에서 어떻게 작동합니까?
예외 코어 클래스를 확장하여 확장 할 수 있습니다.
CI의 전자 메일 클래스에 대한 참조를 조정해야 할 수도 있습니다.이 같은 라이브러리에서 인스턴스를 만들 수 있는지 확실하지 않을 수 있습니다. 저는 CI의 이메일 클래스를 직접 사용하지 않습니다. Swift Mailer 라이브러리를 사용하고 있습니다. 그러나 이것은 올바른 길로 인도해야합니다.
파일 MY_Exceptions.php을 확인하고/응용 프로그램에 배치/
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);
}
}
아, 또 다른 옵션은/(또는/응용 프로그램/코어/CI 2) 라이브러리가 지원하는 logrotation 응용 프로그램을 얻을 수 있습니다 다이제스트를 이메일로 보냅니다. 어떤 플랫폼을 사용하고 있는지 확실하지 않지만 error_log 파일을 모니터링하고 업데이트를 보내면 오류가없는 것처럼 보일 수 있습니다. (error_log는 아파치, CI는 시스템에/logs/폴더가 있고 IIS에는 Windows 이벤트가 있습니다.)
솔루션에서 제외되는 한 가지 점은 CodeIgniters 슈퍼 객체를 가져 와서 전자 메일을로드해야한다는 것입니다 라이브러리 (또는 CodeIgniter의 다른 라이브러리 및 기본 함수) 중 하나입니다. 당신은 이메일 라이브러리를로드 할 수는 $CI
대신 $this
를 사용하는 것이 수행하고 모든 매개 변수를 설정 한 후
$CI =& get_instance();
. 더 많은 정보를 원하시면 click here을 방문 하시어 라이브러리 내의 CodeIgniter 리소스 활용하기 섹션을보십시오.
저는이 작업을 수행하는 오픈 소스 프로젝트를 공개하려고합니다. 그것은 오류를 수집하고, 이슈 트래커로 보내고, 중복을 발견하고, 문제와 이메일 스탭으로 바꿉니다.
세부 사항은 https://sourceforge.net/news/?group_id=317819&id=293422이고 버전 0.1.7은 2 일 후에 만기가됩니다.
오픈 소스 추적기, http://elastik.sourceforge.net/
모든 의견을 환영에서 내가 설정 이메일 매개 변수를 사용하여이 솔루션을 구현하기 위해 open source github project을 설정 감사
입니다.
위의 수정 사항은 예외를 복수화해야합니다. MY_Exceptions.php 클래스 MY_Exceptions는 CI_Exceptions { \t My_Exceptions 함수() { \t \t \t 상위 :: CI_Exceptions()을 확장; \t} ... – Jay
(CI 버전 1.7.1를 사용하여) I 내로 = $ t' '$ 데이터 [ "query_root_menu을"] 변경하여 시험 ... I는 동일한 시도했지만 이메일 전송하지 '$ dataA [ "query_root_menu"] = $ t' 나도 이걸 배우기 위해 꼭 필요하다. –