Как сделасть кастомную 500-ую страницу в Laravel и пробрасывать ошибки в Sentry

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Я думаю, что уже ни для кого не секрет, что Sentry - классная штука в разработке. Есть отличное облако с бесплатным тарифом, куча компонентов для внедрения Sentry во фреймворки.

Задача: сделать красивую 500-ую ошибку на проекте, написанном на Laravel

Решений в интернете куча. Но если у вас страница с 500-ой ошибкой реализована через blade-компоненты. Как быть? Обычные методы не работали, потому как срабатывает 500-ая ошибка и рендеринг blade-шаблонов не происходит. Можно конечно сверстать 500-ку на чистом HTML/CSS, но это супер неудобно.

Подзадача: пробрасывать все ошибки, возникшие в blade-шаблоне в sentry

Решение подзадачи помогло найти решение общей задачи. Я добавил код в app/Exceptions/Handler.php

    public function render($request, Throwable $e)
    {
        if ($this->shouldReport($e)) {
            Integration::captureUnhandledException($e);
        }
        parent::render($request, $e);
    }

и вуаля - ошибки сыпятся в Sentry. Класс, теперь я знаю, что есть проблемы на сайте. Но все равно выскакивает 500-ка. А это плохо.

И тут меня осенило. Я добавил редирект на страницу с 500-ой ошибкой и код получился вот такой

    public function render($request, Throwable $e)
    {
        if ($this->shouldReport($e)) {
            Integration::captureUnhandledException($e);
            return redirect('/500');
        }
        parent::render($request, $e);
    }

Теперь в Senty получаю ошибку, а пользователь видит сверстанную из blade-компонентов страницу с красивым сообщением.

Источник: https://habr.com/ru/articles/777516/


Интересные статьи

Интересные статьи

Привет, меня зовут Михаил Ребковец. Последние 10 лет я активно занимаюсь тем, что оформляю проекты для участия в различных грантовых и субсидиарных программах. Сегодня я являюсь экспертом по работе с ...
Когда речь заходит о безопасности кластеров Kubernetes, вспоминаются сложные методики, выверенные практики, высокий уровень сопровождения. Но так бывает не всегда. Нам встретилась статья, авторы котор...
Не секрет, что для поиска работы на международном рынке необходимо, как минимум, иметь профиль в LinkedIn. А вот для получения реального результата нужно правильно его заполнять и регулярно создавать ...
Стартап - это проект создания нового бизнеса, который подразумевает запуск нового продукта или услуги, характеризуется высокой степенью финансовой неустойчивости при независимом существовании.В статье...
Ошибки — это интересная штука, потому что даже в названии самого доклада есть двойное дно. Это работа над ошибками, которые мы допускаем в своем софте, в программах, сервисах. А также раб...