标签: react-native-sentry

如何使用 react-native 设置 Sentry-cli 源地图

介绍

嗨,我正试图让 Sentry 在一个 react-native 项目中识别我们的源映射,但我无法让它工作。

工件正在上传 - 我可以在 WebUI 中看到它们,但事件缺少上下文/映射:

任何人都可以看到我的设置中有任何问题吗?

谢谢!

 背景

假设

  • 上传发布工件,然后从 web ui 中删除工件,然后重新上传新工件是有效的
  • "abs_path": "app:///index.bundle", 要求捆绑的js需要重命名为 index.bundle
  • 所有事件都有处理错误的事实:Discarded invalid parameter 'dist'不应影响源映射
  • 一切就绪后,我发布的所有历史事件都将受益于上传的文件/源地图

Xcode 构建阶段

在 XCode 构建阶段,我们已经捆绑了 DSym。

在这个脚本中,我试图拉出捆绑的 js 和源映射,并上传它。

脚本

#!/bin/bash
# WARNING: Run directly from Xcode

# For testing of Xcode bundling/sentry locally, set to "true"
DEBUG_FORCE_BUNDLING="true"

printf "Xcode: Bundle react-native and upload to Sentry"

source ../scripts/xcode/utils/node_activate.sh

# Create bundle and sourcemap
export NODE_BINARY=node
export SENTRY_PROPERTIES=sentry.properties …
Run Code Online (Sandbox Code Playgroud)

sentry react-native react-native-sentry

10
推荐指数
1
解决办法
2612
查看次数

如何在哨兵的catch语句中记录错误

我是 Sentry 的新手,我想手动记录错误。

由于某种原因,我无法在他们的文档中找到我如何实现这一目标

我正在使用 RN 项目,但从他们的文档来看,RN 扩展了 JS sdk

考虑一个像这样简单的函数

const logErrorIntentionally = () => {
 try {
  } catch (error) {
  //throw sentry error here
  }
}
Run Code Online (Sandbox Code Playgroud)

如何记录哨兵中抛出的错误?从我的捕获块。

javascript sentry reactjs react-native react-native-sentry

6
推荐指数
1
解决办法
1万
查看次数

如何将 Crashlytics 与 Sentry 集成?

您能帮助我们集成这些出色的工具吗?我们的 React Native iOS 项目已经使用 Crashlytics 几个月了,它在本机崩溃的情况下运行良好,但在JS 异常的情况下,它需要对反应本机日志进行一些自定义(这篇 Medium 文章帮助我们达到了详细的 JS 输出,如可能的)。最终我们没有得到我们想要的那么好的 JS 错误输出。

因此我们决定也集成 Sentry。它成功完成了,但似乎 Sentry超过了Crashlytics 捕获崩溃的速度:我们可以在 Sentry 仪表板中看到崩溃,但在 Crashlytics 仪表板中看不到。

我的问题是:是否可以针对本机崩溃和 JS 异常这两种情况集成 Crashlytics 和 Sentry ?

先感谢您。

UPD 06.03.2019 最后,我们只使用 Sentry,原因如下:

  1. 首先,它不需要任何特殊代码来实现 JS 事件和错误格式良好的输出,而 Crashlytics 则需要;
  2. 其次,它不需要对通过 Testflight 发布(并且可能加密)的 dSym 文件进行任何操作;
  3. 第三,它还捕获本机崩溃并提供详细输出。

sentry crashlytics react-native react-native-ios react-native-sentry

5
推荐指数
1
解决办法
3046
查看次数