Я занимаюсь разработкой проекта, и я хотел бы иметь систему уведомлений специально для «первых дней жизни» - чтобы получать электронные письма каждый раз, когда выдается исключение.
Я прочитал это статья и реализована, что там написано.Моя проблема в том, что функция report()
в App\Exception\Handler.php
не срабатывает, если в одном из моих контроллеров возникает исключение.
Моя проблема: У меня есть AdminController и функциякоторый вставляет некоторые данные в базу данных.Запросы находятся внутри try / catch:
try {
// commands
} catch (\Exception $e){
Log::channel('admin_submissions')->info("Could not save submission. " . $e->getMessage());
return Redirect::back()->withErrors(['Could not save submission. Try again!']);
}
Для целей тестирования я вставил в try{}
ошибку, которая будет выдана, как:
try {
$error = \Illuminate\Validation\ValidationException::withMessages([
'field_name_1' => ['Validation Message #1'],
'field_name_2' => ['Validation Message #2'],
]);
throw $error;
// commands
Но dd("trigger")
функция (смотри ниже) не срабатывает.
Как сделать так, чтобы при каждом исключении (везде) отправлялось электронное письмо?
App \ Exceptions \ Handler.php
Я изменил функцию отчета, чтобы проверить, действительно ли исключение проходит через эту функцию:
public function report(Exception $exception)
{
dd("trigger");
if ($this->shouldReport($exception)) {
app('sneaker')->captureException($exception);
}
parent::report($exception);
}