express - 如何为 Exress JS 应用程序设置哨兵上下文?
问题描述
我想为我的 Express JS 应用程序的每个请求添加自定义 Sentry 上下文。我试图这样做:
function sentryContextMiddleware(req, res, next) {
const { headers, body } = req;
Sentry.setContext('Request', { headers, body });
Sentry.setContext('foo', { foo: 'bar' });
Sentry.setExtra('bar', { baz: 'lol' });
next();
}
// ...
Sentry.init({
dsn: config.sentryDsn,
environment: config.sentryEnv,
integrations: [
new Sentry.Integrations.Http({ tracing: true, breadcrumbs: true }),
new Tracing.Integrations.Express({ app }),
new Tracing.Integrations.Mongo({}),
],
tracesSampleRate: 1.0,
});
app.use(Sentry.Handlers.requestHandler();
app.use(Sentry.Handlers.tracingHandler());
app.use(bodyParser.json({ limit: '500mb' }));
app.use(sentryContextMiddleware);
app.use('/', index);
app.use(Sentry.Handlers.errorHandler());
app.use((err, req, res) => {
res.locals.message = err.message || err;
res.locals.error = req.app.get('env') === 'development' ? err : {};
res.status(err.status || 500);
res.render('error');
});
但它不起作用。我究竟做错了什么?
解决方案
推荐阅读
- angular - 使用 DatePipe 的角度日期和时间
- excel - Autofilter / Hide rows of cells not containing words from array
- python - 如何使某物看起来像在闪烁
- python - 在 Python 中,有什么方法可以显式地表明您正在覆盖继承的类变量?
- javascript - 我的反应路由器 dom 重定向路径不起作用。它没有弹出任何错误,但没有将我的主页设为私有路由
- javascript - 如何使用 Promise 模拟同步 while 循环?
- java - 有没有办法创建一个只在字符串中保存类名的类,而不是在 Java 中手动完成?
- kubernetes - 无法通过 nginx-ingress + HA 代理连接到 novnc
- javascript - 添加等待标记以调度后,无法对未安装的组件执行反应状态更新
- php - 遍历 Posted Array 以输出所有姓氏