:
// 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를 사용하면 일부 브라우저에 콘솔이 정의되어 있지 않은 경우를 처리합니다.