【问题标题】:How do I test that Sentry is reporting errors?如何测试 Sentry 是否报告错误?
【发布时间】:2018-04-30 05:43:42
【问题描述】:

我刚刚使用他们提供的标准代码 sn-p 为客户端 JavaScript 应用程序安装了 Sentry。如何测试它是否正常工作?我已经尝试手动throw从我的浏览器控制台发出错误,但它没有出现在 Sentry 中。是否有任何关于正确方法的文档?

【问题讨论】:

  • 您查看过文档中的usage 页面吗?
  • 如果需要,请随时查看答案并更新已接受的答案,其他人可能会感激!

标签: javascript logging sentry


【解决方案1】:

验证(较新)

myUndefinedFunction();

验证您的设置(旧版)

Sentry.captureException(new Error("This is my fake error message"));

https://docs.sentry.io/platforms/javascript/?platform=browser#verifying-your-setup

可能值得仔细检查您的setup(或更新)和config

【讨论】:

  • 将其粘贴到控制台中不起作用,我无法想象他们希望您将其集成到代码库中?
  • 它确实设置正确。如果没有,请向 Sentry 提交 PR。我很乐意与他们一起审查。
  • 部署后在控制台能用吗?重大疑问。
  • 请不要将控制台日志部署到生产环境中☝️
  • 如果您想验证事件是否在 prod 中发送而不部署测试代码,adius 的回答如下:stackoverflow.com/a/67884468/8422820
【解决方案2】:

浏览器控制台无法使用,因为它是沙盒的。一个简单的技巧是将代码附加到 HTML 元素,如下所示:

<h1 onClick="throw new Error('Test')">
  My Website
</h1>

然后点击标题。

这可以在浏览器检查器中完成,因此您的源代码不必修改。

【讨论】:

    【解决方案3】:

    Raven.captureMessage('Broken!') 是一个很好的起点(也来自 Sentry 文档)。如果发送失败,则表示 Raven 客户端未启动。

    【讨论】:

    • 这个答案已经过时了。 Raven 不再被哨兵官方推荐。
    • 嗨@Titenis,Sentry 不再推荐 Raven 的原因是什么? docs.sentry.io/clients/ruby/config 好像向我推荐了 Raven
    • @CharlesOffenbacher sentry javascript 文档建议使用官方的@sentry/browser 包。这是 js 问题,您链接了 ruby​​ 文档。
    • 啊,有道理。谢谢
    【解决方案4】:

    在 Sentry 中产生错误的一种方法是调用未定义的函数。

    注意:这不能在控制台中完成 - 它必须在代码中。

    尝试将此添加到您的代码中(取自docs):

    myUndefinedFunction();
    

    如果您的代码构建由于测试/linting 而不允许这样做,您可以使用:

    window.myUndefinedFunction()
    

    您应该会在浏览器控制台和 Sentry 仪表板中看到错误。

    阅读Docs 了解更多信息。

    【讨论】:

      猜你喜欢
      • 2011-03-03
      • 1970-01-01
      • 2021-05-22
      • 2021-12-28
      • 2020-08-28
      • 1970-01-01
      • 2021-08-04
      • 2013-06-19
      • 1970-01-01
      相关资源
      最近更新 更多