2014-07-26 1 views
2

나는 this presentation으로 갔고 응용 경로의 오류 조치에 필요한 Ember.onerror(error);을 추가했습니다. 그러나 오류를 기록하려고 할 때 경로 객체 인 것 (무엇인지 확실하지 않음)이 표시됩니다. 제가 취해야 할 몇 가지 추가 조치가 있습니까? 나는 Ember CLI v.40과 Ember v1.6.1을 사용하고 있습니다. 내가 사용하고에버 경로 오류에서 스택 추적 얻기

Error while processing route: calendar.create 

답변

1

:

// routes/application.js 
import Ember from 'ember'; 

export default Ember.Route.extend({ 
    actions: { 
     ... 

     error: function(error) { 
      Ember.onerror(error); 
      return true; 
     } 
    } 
}); 


// initializers/bugsnag.js 
import Ember from 'ember'; 

export default { 
    name : 'bugsnag', 
    after : 'ajax-prefilter', 

    initialize: function(container) { 
     var appController, currentRoute; 

     try { 
      appController = container.lookup('controller:application'); 
      currentRoute = appController.get('currentPath'); 
     } catch(e) {} 

     var context = { currentRoute: currentRoute }; 

     Ember.onerror = function(error) { 
      // do something with error 
      console.log(error.stack) // undefined on route error 
     }; 
    } 
}; 

내가 콘솔에 다음을 얻을 나는 초기화에 들어갈 시도하고있어 정보이며, (엠버, 나의 코드에 의해 생성) 내 경로 오류 처리 메서드에서 console.trace().

Em.Logger.log(error.stack); 
if(! Em.isNone(console)) { 
    console.trace(); 
} 

일반적으로 문제를 디버그하기에 충분한 정보가 생성됩니다. console.log 대신 Em.Logger를 사용하면 일부 브라우저에 콘솔이 정의되어 있지 않은 경우를 처리합니다.