2017-11-16 25 views
2

ReactPHP 엔진 위에 Symfony 응용 프로그램을 빌드하려고하는데 모든 것이 잘되지만 로그가됩니다.Monolog와 ReactPHP 사용

내 응용 프로그램을 devel 환경에서 일반 파일 로그로 구성하고 프로덕션 환경에서 level = error 인 간단한 syslog 로그를 구성했습니다. 두 환경 모두에서 "디버그"가 활성화되어 있습니다. 그렇지 않으면 ReactPHP가 없어도 간단한 Apache를 사용하기 때문에 syslog에 오류가 표시되지 않습니다.

ReactPHP를 사용할 때 문제가 발생합니다. devel 환경을 사용하여 symfony 커널을 초기화하면 모든 것이 기록되지만 예외입니다. Monolog가 예외를 처리하지 않고 오류가 기록되기 때문에 나는 뭔가 잘못하고있는 것처럼 보입니다.

  • 는이 모든 핸들러 (그리고 나는 내 ReactPHP 파일에 커널 초기화에뿐만 아니라 그것을 추가해야합니다) 사용할 수 있습니다 심포니 응용 프로그램 초기화의 어떤 부분을 알고 계십니까?
  • 그렇지 않다면 ... Symfony는 ReactPHP에서 똑같은 방식으로 작동해야합니다. 맞습니까? 내 말은, 커널은 항상 모든 오류/예외를 처리하고 MonologBundle에서 구성된 방식으로 로그를 남기고 그 후에 예외를 다시 던져야한다는 것입니다.

답변

0

ReactPHP 서버가 유지 및 실행하고 모든 캐치되지 않는 예외를 위해 죽을하지 않도록하기 위해 요청 처리기 내부에 포착되지 않은 예외를 잡을 것하면서, 그냥 추측,하지만 어쩌면 당신의 오류는 일반적으로 PHP의 set_exception_handler()를 통해 기록됩니다이다 .

+0

예, 어쩌면,이'set_exception_handler()'가 Symfony에서 소개 된 곳일까요? – mmoreram

+0

https://github.com/symfony/symfony/blob/44b2f97dcd2ba10857dd545e424ad4f48c9dbea1/src/Symfony/Component/Debug/ErrorHandler.php#L135 – kelunik