如何测试 Sentry 是不是报告错误?

Posted

技术标签:

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

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

【问题讨论】:

您查看过文档中的usage 页面吗? 如果需要,请随时查看答案并更新已接受的答案,其他人可能会感激! 【参考方案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 的回答如下:***.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 了解更多信息。

【讨论】:

以上是关于如何测试 Sentry 是不是报告错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Sentry 错误报告中过滤敏感的 Django POST 参数?

比较 Sentry 与 Google 错误报告

使用 Sentry 时如何避免来自第三方扩展的不必要的崩溃报告?

如何在 Sentry 上设置源地图

django商城项目之用sentry管理日志

sentry 之 配置与测试