如何在React Native中的开发模式下禁用哨兵日志

问题描述 投票:0回答:1

在 JS 和本机端开发到 Sentry 时,避免发送调试错误的推荐方法是什么?

开发模式下JS错误

开发模式下的本机崩溃错误

Sentry @sentry/react-native 6.1.0 版本尝试过什么,但没有成功:

选项1:

Sentry.init({
  enabled: !__DEV__
  dsn: "SOME_VALID_URL"
})

结果:这仅适用于 js 错误,但继续向 Sentry 发送本机错误

选项2:

if(!__DEV__) {
  Sentry.init({
    dsn: "SOME_VALID_URL"
  })
}

结果:在根组件中使用

Sentry.wrap
时会生成警告
App Start Span could not be finished. 
Sentry.wrap
was called before
Sentry.init
.

if(!__DEV__) {
 Sentry.init({
   dsn: "SOME_VALID_URL"
 })
}

function RootLayout() {
...
}

export default Sentry.wrap(RootLayout);
react-native sentry react-native-sentry
1个回答
0
投票

根据 Sentry options docs,建议将 dns 设置为

undefined

  • 用于连接Sentry并识别项目的Dsn。如果省略,SDK将不会向Sentry发送任何数据。
Sentry.init({
  dsn: __DEV__
    ? undefined
    : "YOUR_SENTRY_DSN_URL"
})

小心

enabled: !__DEV__
。目前,它不断发送在开发模式下生成的本机错误

来源:

https://github.com/getsentry/sentry-react-native/issues/562#issuecomment-2462756039 https://github.com/getsentry/sentry/issues/6509#issuecomment-705008390 https://github.com/getsentry/sentry-javascript/blob/8c2aa1b883785ab1ce5f7c8173907f5fcbf39912/packages/types/src/options.ts#L39-L40

© www.soinside.com 2019 - 2024. All rights reserved.