2008-11-04 5 views

답변

16

예외 코어 클래스를 확장하여 확장 할 수 있습니다.

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); 
    } 

} 
+0

위의 수정 사항은 예외를 복수화해야합니다. MY_Exceptions.php 클래스 MY_Exceptions는 CI_Exceptions { \t My_Exceptions 함수() { \t \t \t 상위 :: CI_Exceptions()을 확장; \t} ... – Jay

+0

(CI 버전 1.7.1를 사용하여) I 내로 = $ t' '$ 데이터 [ "query_root_menu을"] 변경하여 시험 ... I는 동일한 시도했지만 이메일 전송하지 '$ dataA [ "query_root_menu"] = $ t' 나도 이걸 배우기 위해 꼭 필요하다. –

0

아, 또 다른 옵션은/(또는/응용 프로그램/코어/CI 2) 라이브러리가 지원하는 logrotation 응용 프로그램을 얻을 수 있습니다 다이제스트를 이메일로 보냅니다. 어떤 플랫폼을 사용하고 있는지 확실하지 않지만 error_log 파일을 모니터링하고 업데이트를 보내면 오류가없는 것처럼 보일 수 있습니다. (error_log는 아파치, CI는 시스템에/logs/폴더가 있고 IIS에는 Windows 이벤트가 있습니다.)

3

솔루션에서 제외되는 한 가지 점은 CodeIgniters 슈퍼 객체를 가져 와서 전자 메일을로드해야한다는 것입니다 라이브러리 (또는 CodeIgniter의 다른 라이브러리 및 기본 함수) 중 하나입니다. 당신은 이메일 라이브러리를로드 할 수는 $CI 대신 $this를 사용하는 것이 수행하고 모든 매개 변수를 설정 한 후

$CI =& get_instance(); 

. 더 많은 정보를 원하시면 click here을 방문 하시어 라이브러리 내의 CodeIgniter 리소스 활용하기 섹션을보십시오.

0

저는이 작업을 수행하는 오픈 소스 프로젝트를 공개하려고합니다. 그것은 오류를 수집하고, 이슈 트래커로 보내고, 중복을 발견하고, 문제와 이메일 스탭으로 바꿉니다.

세부 사항은 https://sourceforge.net/news/?group_id=317819&id=293422이고 버전 0.1.7은 2 일 후에 만기가됩니다.

오픈 소스 추적기, http://elastik.sourceforge.net/

모든 의견을 환영에서 내가 설정 이메일 매개 변수를 사용하여이 솔루션을 구현하기 위해 open source github project을 설정 감사

0

입니다.

관련 문제