#php #symfony #exception
#php #symfony #исключение
Вопрос:
Я работаю над API с Symfony и FOSRestBundle.
В моем ApiController я хочу регистрировать все исключения в определенном файле: api.log
Вот пример моего кода:
public function getUserAction($param){
if(is_int($param)){
$user = $this->getDoctrine()->getRepository('ProjectBundle:Account')->findOneById($param);
}
else{
$user = $this->getDoctrine()->getRepository('ProjectBundle:Account')->findOneByUsername($param);
}
if(!is_object($user)){
return "User Not Found";
}
return $user;
}
Где мне нужно перехватить и зарегистрировать исключение? В if(!is_object($user)){
или когда я извлеку $user
? И как я могу сохранить и протоколировать исключение в моем файле api.log?
Спасибо!
Ответ №1:
На мой взгляд, следует добавить прослушиватель событий kernel.exception, который записывает исключение в файл api.log
http://symfony.com/doc/current/cookbook/service_container/event_listener.html