2
我去了this presentation并将必要的Ember.onerror(error);
添加到应用程序路由的错误操作。但是,当我尝试记录该错误时,我得到的似乎是路由对象(不知道它是什么)。我需要采取一些额外的步骤吗?我使用Ember CLI v.40和Ember v1.6.1。从余烬路由错误中获取堆栈跟踪
Error while processing route: calendar.create
我去了this presentation并将必要的Ember.onerror(error);
添加到应用程序路由的错误操作。但是,当我尝试记录该错误时,我得到的似乎是路由对象(不知道它是什么)。我需要采取一些额外的步骤吗?我使用Ember CLI v.40和Ember v1.6.1。从余烬路由错误中获取堆栈跟踪
Error while processing route: calendar.create
我一直在使用:
// 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();
}
这通常会产生足够的信息来进一步调试问题。请注意,使用Em.Logger而不是console.log,它将处理某些浏览器未定义控制台的情况。