2012-03-19 2 views
5

/var/log/php_errors에있는 전역 PHP 오류 로그에 동일한 오류를 보내거나/var/www/mysite/php_errors에있는 로컬 오류 로그에 같은 오류를 보낼 수 있습니까?PHP 오류를 여러 파일에 기록 할 수 있습니까?

스테이징 서버에서 나는 로그 파일을 꼬집어서 많은 워드 프레스뿐만 아니라 다른 개발자로부터 큰 못생긴 print_r을 가져올 것입니다. 나는 한 번에 하나의 사이트에만 관심이 있다면 나는 그들을 잘 따라갈 수 있도록 내 전역 오류를 분리 할뿐만 아니라 수시로 서버를 손상시키는 것이 있는지 확인하기 위해 전역 오류 파일을 갖고 싶습니다. .

+0

이것은'error_log = log1; log2'도 작동하지 않습니다. – Pacerier

답변

1

나는 알고있다. 그러나 error_prepend_string ini 설정을 사용하고 모든 오류 로그 앞에 뭔가를 추가 할 수 있습니다. 그리고 그 때 꼬리 로그 파일 (그래서 당신이 상당히 독특한 무언가를 선택한다.) 당신은 당신이 설정 무엇에 grep을 할 수 있으며 당신에게 해당 사이트에서 메시지 만 표시됩니다

http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-prepend-string

+0

이것을 .htaccess 파일에 설정할 수 있습니까? 이것은 아마도 가장 간단한 해결책 일 것입니다. 나는 grep-pipe-fu를 닦을 필요가있다. – yellottyellott

+0

'error_prepend_string'는 오류 표시 출력에는 작동하지만 로깅에 대해서는 작동하지 않습니다. – majick

1

당신이 라이브러리를 사용하는 경우 log4php과 같이 로그 유형에 따라 여러 파일에 쓰기, 전자 메일 보내기 등 다양한 로깅 옵션을 구성 할 수 있습니다.

3

set_error_handler을 사용하고 원하는대로 많은 로깅을 사용하여 사용자 정의 오류 기능을 만드십시오.

+0

"사용자 정의 함수로 다음 오류 유형을 처리 할 수 ​​없습니다. E_ERROR, ..." 좋은 생각이지만 너무 많은 치명적인 오류가 발생합니다. – yellottyellott

+0

'register_shutdown_function' (http://php.net/manual/en/function.register-shutdown-function.php)을 사용할 수있는 사람들은'set_custom_handler' (http://php.net /manual/en/function.set-exception-handler.php) 잡히지 않은 예외에 대해서도 – Ing

+0

여기 @Ing에서 제안하는 클래스가 있습니다 : https://stackoverflow.com/a/30637618/5240159 – majick

관련 문제