推荐答案
在 Express 中使用 Sentry 或 Rollbar 监控错误的步骤如下:
使用 Sentry
安装 Sentry SDK:
npm install @sentry/node @sentry/integrations
初始化 Sentry:
-- -------------------- ---- ------- ----- ------ - ------------------------ ----- - ------------ - - -------------------------------- ------------- ---- ------------------ ------------- - --- ----------------------- -- ---
添加 Sentry 中间件:
const express = require('express'); const app = express(); app.use(Sentry.Handlers.requestHandler()); app.use(Sentry.Handlers.errorHandler());
捕获错误:
app.get('/', (req, res) => { try { throw new Error('Test error'); } catch (error) { Sentry.captureException(error); res.status(500).send('Something broke!'); } });
使用 Rollbar
安装 Rollbar SDK:
npm install rollbar
初始化 Rollbar:
const Rollbar = require('rollbar'); const rollbar = new Rollbar({ accessToken: 'YOUR_ROLLBAR_ACCESS_TOKEN', captureUncaught: true, captureUnhandledRejections: true, });
添加 Rollbar 中间件:
const express = require('express'); const app = express(); app.use(rollbar.errorHandler());
捕获错误:
app.get('/', (req, res) => { try { throw new Error('Test error'); } catch (error) { rollbar.error(error); res.status(500).send('Something broke!'); } });
本题详细解读
Sentry 和 Rollbar 的作用
Sentry 和 Rollbar 都是错误监控工具,用于捕获和记录应用程序中的错误。它们可以帮助开发者在生产环境中快速发现和修复问题。
Sentry 的使用步骤
- 安装 SDK:首先需要安装 Sentry 的 Node.js SDK 和 Express 集成包。
- 初始化 Sentry:通过
Sentry.init
方法初始化 Sentry,并配置 DSN(Data Source Name)以连接到 Sentry 服务器。 - 添加中间件:使用
Sentry.Handlers.requestHandler()
和Sentry.Handlers.errorHandler()
中间件来捕获请求和错误。 - 捕获错误:在代码中使用
Sentry.captureException(error)
来捕获并上报错误。
Rollbar 的使用步骤
- 安装 SDK:首先需要安装 Rollbar 的 Node.js SDK。
- 初始化 Rollbar:通过
new Rollbar
初始化 Rollbar,并配置访问令牌和其他选项。 - 添加中间件:使用
rollbar.errorHandler()
中间件来捕获错误。 - 捕获错误:在代码中使用
rollbar.error(error)
来捕获并上报错误。
区别与选择
- Sentry:提供了更丰富的错误上下文信息,支持多种编程语言和框架,适合需要深度错误分析的场景。
- Rollbar:易于集成,支持实时错误监控和通知,适合需要快速响应错误的场景。
根据项目需求选择合适的工具,可以有效提升错误监控和处理的效率。