2017-09-19 6 views
4

Angular 4를 사용하는 앱을 만들고 원격 기록 플랫폼으로 Sentry를 사용하고 있습니다.Raven Sentry가 최신 Angular 4에서 작동하지 않습니다.

오늘은 패키지를 최신 버전으로 업데이트하기로 결정 했으므로 이제 Sentry가 내 전체 응용 프로그램을 손상시키고 있습니다. 당신이 볼 수 있듯이

Raven.config(environment.ravenUrl).install(); 

export class RavenErrorHandler implements ErrorHandler { 
    handleError(err: any): void { 
    Raven.captureException(err); 
    } 
} 

@NgModule({ 
    declarations: [ 
    // My components 
    ], 
    imports: [ 
    BrowserModule, 
    ReactiveFormsModule, 
    HttpModule, 
    AppRoutingModule, 
    NgbModule.forRoot(), 
    StoreModule.forRoot({ 
     orders: ordersReducer, 
     login: loginReducer, 
     routerReducer: routerReducer 
    }), 
    StoreRouterConnectingModule, 
    EffectsModule.forRoot([ 
     OrderEffect, 
     LoginEffect 
    ]), 
    !environment.production ? StoreDevtoolsModule.instrument() : [], 
    PerfectScrollbarModule.forRoot(PERFECT_SCROLLBAR_CONFIG) 
    ], 
    providers: [ 
    { provide: ErrorHandler, useClass: RavenErrorHandler } 
    ], 
    bootstrap: [AppComponent], 
}) 
export class AppModule { } 

난 그냥 각도에 설치하는 방법에 대한 Sentry documentation를 따라 :

여기 내 코드입니다.

코드에서 몇 가지 검사를했는데 오류 메시지가 사라지면 Raven.config(environment.ravenUrl).install();을 보았습니다.하지만이 작업을 원하지 않습니다.

zone.js:195 Uncaught RangeError: Maximum call stack size exceeded 
    at http://localhost:4200/polyfills.bundle.js:5303:31 
    at XMLHttpRequest.proto.(anonymous function) (http://localhost:4200/polyfills.bundle.js:3819:24) 
    at XMLHttpRequest.open (http://localhost:4200/vendor.bundle.js:17409:37) 
    at Raven._makeRequest (http://localhost:4200/vendor.bundle.js:18090:17) 
    at Raven._sendProcessedPayload (http://localhost:4200/vendor.bundle.js:18014:56) 
    at Raven._send (http://localhost:4200/vendor.bundle.js:17956:22) 
    at Raven._processException (http://localhost:4200/vendor.bundle.js:17730:14) 
    at Raven._handleStackInfo (http://localhost:4200/vendor.bundle.js:17636:14) 
    at Raven.captureException (http://localhost:4200/vendor.bundle.js:16774:18) 
    at XMLHttpRequest.wrapped (http://localhost:4200/vendor.bundle.js:16710:22) 
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (http://localhost:4200/polyfills.bundle.js:2970:31) 
    at Zone.webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask (http://localhost:4200/polyfills.bundle.js:2737:47) 
    at ZoneTask.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (http://localhost:4200/polyfills.bundle.js:3044:34) 
    at invokeTask (http://localhost:4200/polyfills.bundle.js:3972:14) 
    at XMLHttpRequest.globalZoneAwareCallback (http://localhost:4200/polyfills.bundle.js:3990:17) 
    at http://localhost:4200/polyfills.bundle.js:5303:31 
    at XMLHttpRequest.proto.(anonymous function) (http://localhost:4200/polyfills.bundle.js:3819:24) 
    at XMLHttpRequest.open (http://localhost:4200/vendor.bundle.js:17409:37) 
    at Raven._makeRequest (http://localhost:4200/vendor.bundle.js:18090:17) 
    at Raven._sendProcessedPayload (http://localhost:4200/vendor.bundle.js:18014:56) 
    at Raven._send (http://localhost:4200/vendor.bundle.js:17956:22) 
    at Raven._processException (http://localhost:4200/vendor.bundle.js:17730:14) 
    at Raven._handleStackInfo (http://localhost:4200/vendor.bundle.js:17636:14) 
    at Raven.captureException (http://localhost:4200/vendor.bundle.js:16774:18) 
    at XMLHttpRequest.wrapped (http://localhost:4200/vendor.bundle.js:16710:22) 
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (http://localhost:4200/polyfills.bundle.js:2970:31) 
    at Zone.webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask (http://localhost:4200/polyfills.bundle.js:2737:47) 
    at ZoneTask.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (http://localhost:4200/polyfills.bundle.js:3044:34) 
    at invokeTask (http://localhost:4200/polyfills.bundle.js:3972:14) 
    at XMLHttpRequest.globalZoneAwareCallback (http://localhost:4200/polyfills.bundle.js:3990:17) 
    at http://localhost:4200/polyfills.bundle.js:5303:31 
    at XMLHttpRequest.proto.(anonymous function) (http://localhost:4200/polyfills.bundle.js:3819:24) 
    at XMLHttpRequest.open (http://localhost:4200/vendor.bundle.js:17409:37) 
    at Raven._makeRequest (http://localhost:4200/vendor.bundle.js:18090:17) 
    at Raven._sendProcessedPayload (http://localhost:4200/vendor.bundle.js:18014:56) 
    at Raven._send (http://localhost:4200/vendor.bundle.js:17956:22) 
    at Raven._processException (http://localhost:4200/vendor.bundle.js:17730:14) 
    at Raven._handleStackInfo (http://localhost:4200/vendor.bundle.js:17636:14) 
    at Raven.captureException (http://localhost:4200/vendor.bundle.js:16774:18) 
    at XMLHttpRequest.wrapped (http://localhost:4200/vendor.bundle.js:16710:22) 
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (http://localhost:4200/polyfills.bundle.js:2970:31) 
    at Zone.webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask (http://localhost:4200/polyfills.bundle.js:2737:47) 
    at ZoneTask.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (http://localhost:4200/polyfills.bundle.js:3044:34) 
    at invokeTask (http://localhost:4200/polyfills.bundle.js:3972:14) 
    at XMLHttpRequest.globalZoneAwareCallback (http://localhost:4200/polyfills.bundle.js:3990:17) 
    at http://localhost:4200/polyfills.bundle.js:5303:31 
    at XMLHttpRequest.proto.(anonymous function) (http://localhost:4200/polyfills.bundle.js:3819:24) 
    at XMLHttpRequest.open (http://localhost:4200/vendor.bundle.js:17409:37) 
    at Raven._makeRequest (http://localhost:4200/vendor.bundle.js:18090:17) 
    at Raven._sendProcessedPayload (http://localhost:4200/vendor.bundle.js:18014:56) 

그리고 파이어 폭스에 난 그냥 재귀의 최대 한계에 도달했습니다 없다는 오류를 얻을 :

구글 크롬에 오류가 이것이다.

이 오류는 무한 루프에서 계속 발생하므로 몇 초 안에이 오류가 발생할 수 있습니다.

누구든지이 경험이 있습니까? Angular 4.4.2와 Angular CLI (1.4.2)의 최신 버전을 사용하고 있습니다. ,

zone.js:195 Uncaught <failed to convert exception to string> 
webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask @ zone.js:195 
webpackJsonp.../../../../zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:499 
invokeTask @ zone.js:1427 
globalZoneAwareCallback @ zone.js:1445 
(anonymous) @ zone.js:2758 
proto.(anonymous function) @ zone.js:1274 
(anonymous) @ raven.js:1023 
_makeRequest @ raven.js:1704 
_sendProcessedPayload @ raven.js:1628 
_send @ raven.js:1570 
_processException @ raven.js:1344 
_handleStackInfo @ raven.js:1250 
captureException @ raven.js:388 
wrapped @ raven.js:324 
webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:425 
webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask @ zone.js:192 
webpackJsonp.../../../../zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:499 
invokeTask @ zone.js:1427 
globalZoneAwareCallback @ zone.js:1445 
(anonymous) @ zone.js:2758 
proto.(anonymous function) @ zone.js:1274 
(anonymous) @ raven.js:1023 
_makeRequest @ raven.js:1704 
_sendProcessedPayload @ raven.js:1628 
_send @ raven.js:1570 
_processException @ raven.js:1344 
_handleStackInfo @ raven.js:1250 
captureException @ raven.js:388 
wrapped @ raven.js:324 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
wrapped @ raven.js:321 
wrapFn @ zone.js:1075 
+0

콘솔 로그를'handleError' 메소드에 추가하고 얼마나 많은 시간과 오류가 있는지 확인하십시오. 'console.log (environment.ravenUrl)'이 정의되어 있는지 확인하십시오 :'https : // @ sentry.io/' – num8er

+0

안녕하세요, 저는'console.log ('error : '+ err);'명령문이 있지만 아무 것도 인쇄되지 않았기 때문에 코드가 통과하는 것 같지 않습니다. – Felipe

+3

이 문제가있었습니다. 나는 그것이 zone.js 0.8.17의 문제라고 확신한다. 나는 그것을 0.8.16으로 설정했다. 마지막으로 패치를했고 다음 릴리스를 위해 준비했는지 확인했다. – hdk

답변

1

이것은 Zone.js 측의 문제 : 나는 또한 최대 호출 스택의 크기 전에 몇 번 일어나고 크롬에서이 오류를 발견

UPDATE 오류를 초과 고맙게도 이미 해결 되었다면 (아직 공개 예정), 여기에서 자세한 내용을 읽어 보시기 바랍니다. https://github.com/getsentry/raven-js/issues/1016#issuecomment-328494778