在 Angular 中有条件地关闭 Bugsnag

Conditionally turn off Bugsnag in Angular

我是 Angular 8.x 中的 运行 Bugsnag 并且想完全关闭基于 environment.ts 中的 属性 的报告。我知道如何通过 属性,但我不知道如何关闭报告。这样做的过程是什么?

我浏览了 Angular 的 Bugsnag 文档: https://docs.bugsnag.com/platforms/javascript/angular/

并发现 bugsnag 被用作提供者:

@NgModule({
  providers: [ { provide: ErrorHandler, useFactory: errorHandlerFactory } ]
})

我会通过添加 if 来更改,其中可以只为特定环境添加提供程序:


const providers = [];

if (enviroment.production) {
  providers.push({ provide: ErrorHandler, useFactory: errorHandlerFactory });
}

@NgModule({
  providers,
})

为了繁荣,我在这里使用 'official' 解决方案 - 因为构建动态提供程序似乎在 module.app 中不起作用:

Bugsnag.start({
  apiKey: '**YOURKEY***',
  enabledReleaseStages: ['production', 'staging'], // <=== Just enable for production and staging...
});

这是文档:https://docs.bugsnag.com/platforms/javascript/angular/configuration-options/#enabledreleasestages