【问题标题】:Recommended error reporting for ember.jsember.js 的推荐错误报告
【发布时间】:2013-01-16 00:01:09
【问题描述】:

ember.js 社区对报告 Ember 应用程序崩溃的建议是什么?我正在寻找与 Rails 中的 exception_notifier gem 等效的东西,以便在用户遇到错误时通知我。

Stack Overflow post 推荐通用的 javascript 错误处理解决方案,包括:

  • 自己处理window.onerror
  • 使用为您处理window.onerror 的托管服务,例如Airbrake.ioMuscula

我希望有某种 Mixin 可以为您提供所有这些错误处理代码,并提供更丰富的错误消息(例如发生错误时的当前路由等)。这还存在吗?如果没有,人们正在做什么来解决这个问题?

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    任何像 Rails gem 这样的错误报告都将依赖于某种服务器后端来处理错误,例如向管理员发送电子邮件等。Rails 有一个专门用于此类事情的整个 gem 是有道理的,因为Rails 将拥有整个堆栈跟踪、会话和各种其他方便(/必要)用于调试问题的变量,但对于前端应用程序(例如 Ember),所有错误信息都在客户端,因此所有后端逻辑都会公开一个 API,您的 Ember 应用程序可以与之通信,该 API 将转发您从应用程序发送给它的任何信息,并将其发送到您的电子邮件,或者您想用它做什么。

    要在 Ember 中执行此操作,您可以指定 Ember.onerror 函数:

    Ember.onerror = function(error) {
      caught = error; 
      Em.$.ajax('/report-error', 'POST', {
         stack: error.stack,
         otherInformation: 'whatever app state you want to provide'
      });
    };
    

    这会接收抛出的 JavaScript Error 对象,该对象可能有也可能没有非标准的 stack 属性,其中包含您可以发送到服务器的堆栈跟踪以及任何其他应用特定状态d 想发送,但您可能希望保持简单,以免导致其他错误并最终陷入来自地狱的疯狂错误循环。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-23
      • 2022-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-03
      • 2013-01-21
      • 2015-03-30
      相关资源
      最近更新 更多