2017-11-02 13 views
0

작곡가와 함께 autoload 클래스가 실패 할 때 로그 파일 오류를 만들고 싶었 기 때문에 오늘 도움을 요청하고 싶습니다. ClassLoader.php에 직접 작성하여 성공했지만 Composer를 업데이트 할 때마다 모두 지워집니다. ClassLoader.php에서작곡가가 클래스를 찾지 못했을 때 로그를 작성하십시오.

, findFile 방법 : 여기

내 작품의 일부이다 : 나는 그것을 어디에 넣을 것인가 아무 생각이 없다 그것으로

if (false === $file) { 
     // Remember that this class does not exist. 
     $this->missingClasses[$class] = true; 
     ob_start(); 
     echo date("d/m/Y H:i:s") . "\n"; 
     debug_print_backtrace(); 
     $trace = ob_get_contents(); 
     ob_end_clean(); 
     file_put_contents(FILEPATH_CLASS_EXCEPTION, $trace, FILE_APPEND); 
    } 

, 작동을하지만, 경우 수 소스 코드를 변경하지 않고 추가합니까?

감사합니다.

+0

프레임 워크 또는 구성 요소 클래스/라이브러리를 사용하고 있습니까? –

+0

작곡가 파일을 수정하지 마십시오. 그 물건을 처리하는 오류 처리기를 만들어야합니다. [Monolog] (https://github.com/Seldaek/monolog)와 같이 검증되고 검증 된 라이브러리를 사용할 수도 있습니다. 그런 다음 모든 오류를 기록 할 수 있습니다 (일부 오류를 기록하는 것은 의미가 없기 때문에 어쨌든 원할 것입니다). –

답변

0

자동로드 생성기를 원하는 기능의 확장을 제공하는 래퍼로 바꾸는 composer-plugin을 만들 수 있습니다. 그런 다음 해당 플러그인을 로깅 기능을 원하는 패키지의 종속성으로 만들 수 있습니다.