javascript - एंबर आवेदन पर एयरब्रैक सेट करना




ember.js airbrake (2)

मुझे नहीं पता कि यह आपके प्रश्न का उत्तर दे रहा है, लेकिन मुझे उम्मीद है कि यह मदद करता है।

सर्वर फेंकने वाली त्रुटियों को संभालने के लिए आप एप्लिकेशन के मार्ग में "त्रुटि" फ़ंक्शन को परिभाषित कर सकते हैं और इसे एयरब्रोक में धक्का दे सकते हैं:

App.ApplicationRoute = Ember.Route.extend({
  actions: {
    error: function(error) {
      // handle the error
      Airbreak.push(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);
    }
});

इस तरह आपके पास एक ही जगह में सभी त्रुटि हैंडलिंग है।

आप एयरब्रैक को कैसे सेट अप करते हैं कि यह किसी एम्बर एप्लिकेशन में होने वाली अनियंत्रित जावास्क्रिप्ट त्रुटियों से संदर्भ जानकारी प्राप्त करता है?


मान लें कि आपने एयरब्रैक-जेएस को शामिल किया है, आप एम्बर के onerror हैंडलर पर हुक कर सकते हैं और त्रुटियों को पुश कर सकते हैं।

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.
};

आप एयरब्रैक्स-जेएस गीथहब रिपॉज़िटरी डॉक्स में भेजे गए डेटा के विभिन्न पैरामीटर के और विकल्प देख सकते हैं।





airbrake