Я использую Laravel 11 с Filament v3 вместе с bezhanSalleh/filament-Exceptions для управления и регистрации исключений в моем приложении. Мои уведомления и некоторые другие задания отправляются с использованием очереди Redis с настроенными повторами (до 3, а иногда и 5 попыток).
В настоящее время FilamentExceptions регистрирует каждое исключение, даже для промежуточных повторов. Это приводит к дублированию записей журнала для одной и той же ошибки при повторной попытке задания. Например, если уведомление не удалось отправить из-за проблемы с сетью (соединение с «xxx» было неожиданно закрыто), но оно было успешным при второй или третьей попытке, первоначальные ошибки по-прежнему регистрируются в исключениях нити.
И это очень важно! Некоторые задания не имеют установленной переменной повтора. Если эти задания завершаются неудачей с первой попытки, это означает, что это также последняя попытка. Конечно, я также хочу регистрировать эти сбои. Я хочу только избавиться от регистрации неудачных заданий, у которых еще осталась еще одна повторная попытка. Промежуточные сбои повторных попыток не следует фиксировать, чтобы избежать шума в журналах. Как я могу это заархивировать?
"Проблема" заключается в том, что bezhanSalleh/filament-Exceptions регистрируется глобально в файле app.php:
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
commands: __DIR__.'/../routes/console.php',
health: '/up',
)
->withMiddleware(function (Middleware $middleware) {
$middleware->validateCsrfTokens(except: [
'webhooks/*',
]);
})
->withExceptions(function (Exceptions $exceptions) {
$exceptions->reportable(function (Throwable $e) {
FilamentExceptions::report($e);
});
})->create();
Подробнее здесь: https://stackoverflow.com/questions/792 ... exceptions
Возможность регистрации исключений только при последней повторной попытке при использовании FilamentExceptions ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение