我对哨兵很陌生,我正在尝试使用哨兵研究错误跟踪。以下代码片段 我故意设置了一个无效的 mongodb uri 并试图用哨兵捕捉错误。但是 Sentry.cptureException 没有发送错误信息。但是,如果我设置了正确的 mongo uri 并使用调试路由进行测试,它就会捕获错误并将错误发送到仪表板。我做错了什么?
Sentry.init({ dsn: process.env.SENTRY_DSN });
(async (): Promise<void> => {
try {
const app = express();
app.use(Sentry.Handlers.requestHandler() as express.RequestHandler);
await mongodb.connectAsync(process.env.MONGO_DEV_DB as string);
apolloServer.applyMiddleware({ app, path: '/api', cors: false });
app.get('/debug', () => {
throw new Error('My first Sentry error!');
});
app.use(Sentry.Handlers.errorHandler() as express.ErrorRequestHandler);
app.listen(PORT, () => debug(`? App is Listening on port ${PORT}`));
} catch (err) {
Sentry.captureException(err);
console.error(err);
await mongodb.closeAsync();
process.exit(1);
}
})();