Php Laravel-根据异常类型发送定制的Bugsnag错误报告?
我有一个Laravel7应用程序,它使用第三方PHP包与服务(Convirza)集成。我通过自己的服务提供商Php Laravel-根据异常类型发送定制的Bugsnag错误报告?,php,laravel,logging,reporting-services,error-handling,Php,Laravel,Logging,Reporting Services,Error Handling,我有一个Laravel7应用程序,它使用第三方PHP包与服务(Convirza)集成。我通过自己的服务提供商App\Providers\ConvirzaServiceProvider引导服务并将其绑定到容器中。我的问题是我需要将错误日志从服务发送到Bugsnag(错误报告服务)。。。根据服务引发的异常,我需要向报告中添加元数据。我不想从基本App\exceptions\Handler类中筛选异常,因为我希望所有内容都打包到服务提供者中 例如,当抛出Skidaatl\Convirza\Except
App\Providers\ConvirzaServiceProvider
引导服务并将其绑定到容器中。我的问题是我需要将错误日志从服务发送到Bugsnag(错误报告服务)。。。根据服务引发的异常,我需要向报告中添加元数据。我不想从基本App\exceptions\Handler
类中筛选异常,因为我希望所有内容都打包到服务提供者中
例如,当抛出Skidaatl\Convirza\Exceptions\BadRequestException
时,我想将请求参数作为元数据添加到报告中。另一个例子是,如果抛出Skidaatl\Convirza\Exceptions\InvalidTokenException
,我想将令牌作为元数据添加到我的报告中
我不希望每次调用服务时都添加try/catch块。我该怎么办
这是我的服务提供商:
class ConvirzaServiceProvider extends ServiceProvider
{
/**
* Bootstrap services.
*
* @return void
*/
public function boot()
{
if ($this->app->runningInConsole()) {
$this->commands([
Commands\UpdateCampaignsCommand::class,
Commands\UpdateGroupsCommand::class,
Commands\GenerateReportsCommand::class
]);
}
$this->app['events']->subscribe(EventHandler::class);
}
/**
* Register services.
*
* @return void
*/
public function register()
{
$this->loadRoutesFrom(__DIR__.'/routes.php');
$this->loadMigrationsFrom(__DIR__.'/database/migrations');
$this->app->singleton('convirza', function(Container $app) {
$config = config('convirza.client');
$config = Config::create($config);
return new Convirza($config);
});
$this->app->bind(ReportBuilder::class, function(Container $app) {
return new ReportBuilder($app->get('convirza'));
});
$this->app->alias('convirza', Convirza::class);
}
}