javascript - guide - ember js windows
ConfiguraciĆ³n de Airbrake en una aplicaciĆ³n Ember (2)
No sé si esto responde su pregunta, pero espero que ayude.
Para manejar los errores arrojados por el servidor, puede definir una función de "error" en la ruta de la aplicación e insertarla en Airbrake:
App.ApplicationRoute = Ember.Route.extend({
actions: {
error: function(error) {
// handle the error
Airbreak.push(error)
}
}
});
Además, si detecta errores en otro lugar y tiene el mismo tratamiento, puede hacer una mezcla y pasar el error:
App.ErrorHandlerMixin = Ember.Mixin.create({
handleError: function(error){
//make different stuff
Airbreak.push(error)
}
});
App.ApplicationRoute = Ember.Route.extend(App.ErrorHandlerMixin, {
actions: {
error: function(error, transition) {
this.handleError(error);
}
}
});
App.ApplicationController = Ember.ObjectController.extend((App.ErrorHandlerMixin, {
someFunction: function () {
this.handleError(randomError);
}
});
De esta forma tiene todo el manejo de errores en un solo lugar.
¿Cómo configura Airbrake para que obtenga información de contexto de los errores de Javascript no administrados que ocurren en una aplicación Ember?
Suponiendo que haya incluido Airbrake-js , puede enganchar el controlador de onerror
de Ember y enviar errores.
Ember.onerror = function(err) { // any ember error
Airbrake.push(err);
//any other error handling
};
Ember.RSVP.configure(''onerror'',function(err){ // any promise error
Airbrake.push(err);
console.error(e.message);
console.error(e.stack);
//any other generic promise error handling
};
window.onerror = function(err){ // window general errors.
Airbrake.push(err);
//generic error handling that might not be Airbrake related.
};
Puede ver más opciones de diferentes parámetros de los datos enviados en los documentos de repositorio de airbrake-js GitHub.