如何测试 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 参数?