哨兵错误日志记录在 React Native 应用程序中无法正常工作
Sentry Error logging not working as expected in React Native app
也许我误解了目的。我正在寻找一种解决方案来替换我的应用程序中的 console.log(errors),因为我已准备好将其投入生产。我完成了将 Sentry 功能添加到我的 expo 托管工作流项目的步骤。它似乎工作正常,可以连接,运行 Sentry.init() 就好了。但是当我尝试使用 Sentry.captureException('some exception') 代替 console.log 时,应用程序崩溃并且我得到“Sentry.captureException 不是函数”。它在我的哨兵控制台中记录了那个错误。所以错误被传递到我的哨兵项目。但是从我正在关注的文档来看,Sentry.captureException 应该是一个有效的函数?我错过了什么?我也试过 Sentry.captureMessage 结果相同。
App.js
import * as Sentry from 'sentry-expo';
Sentry.init({
dsn: 'xxxx',
enableInExpoDevelopment: true,
debug: true, // Sentry will try to print out useful debugging information if something goes wrong with sending an event. Set this to `false` in production.
});
enableScreens();
export default function App() {
return (
<NavigationContainer>
<AuthNavigator />
</NavigationContainer>
)
}
app.json 展览挂钩
"hooks": {
"postPublish": [
{
"file": "sentry-expo/upload-sourcemaps",
"config": {
"organization": "myorganization",
"project": "myproject",
"authToken": "xxxx"
}
}
]
}
您应该使用 Sentry.Native.captureException('message')
- 根据 these docs。
另请注意,sentry-expo
支持 TypeScript,因此如果您在项目中使用 TypeScript,您将在调用错误的方法时获得自动完成和错误消息。
也许我误解了目的。我正在寻找一种解决方案来替换我的应用程序中的 console.log(errors),因为我已准备好将其投入生产。我完成了将 Sentry 功能添加到我的 expo 托管工作流项目的步骤。它似乎工作正常,可以连接,运行 Sentry.init() 就好了。但是当我尝试使用 Sentry.captureException('some exception') 代替 console.log 时,应用程序崩溃并且我得到“Sentry.captureException 不是函数”。它在我的哨兵控制台中记录了那个错误。所以错误被传递到我的哨兵项目。但是从我正在关注的文档来看,Sentry.captureException 应该是一个有效的函数?我错过了什么?我也试过 Sentry.captureMessage 结果相同。
App.js
import * as Sentry from 'sentry-expo';
Sentry.init({
dsn: 'xxxx',
enableInExpoDevelopment: true,
debug: true, // Sentry will try to print out useful debugging information if something goes wrong with sending an event. Set this to `false` in production.
});
enableScreens();
export default function App() {
return (
<NavigationContainer>
<AuthNavigator />
</NavigationContainer>
)
}
app.json 展览挂钩
"hooks": {
"postPublish": [
{
"file": "sentry-expo/upload-sourcemaps",
"config": {
"organization": "myorganization",
"project": "myproject",
"authToken": "xxxx"
}
}
]
}
您应该使用 Sentry.Native.captureException('message')
- 根据 these docs。
另请注意,sentry-expo
支持 TypeScript,因此如果您在项目中使用 TypeScript,您将在调用错误的方法时获得自动完成和错误消息。