要在错误事件中打印请求数据并在Bugsnag中显示请求选项卡,请参考以下示例代码:
Node.js:
const bugsnag = require('bugsnag')
const express = require('express')
const app = express()
bugsnag.register('YOUR_API_KEY')
app.use(bugsnag.requestHandler)
app.get('/', (req, res) => {
// 抛出一个错误
throw new Error('Something went wrong!')
})
app.use(bugsnag.errorHandler)
const PORT = process.env.PORT || 3000
app.listen(PORT, () => {
console.log(`Server started on port ${PORT}`)
})
以上代码将抛出一个错误,并将请求数据与堆栈跟踪一起发送到Bugsnag。
在Bugsnag中显示请求标签,请确保已启用请求处理程序(如上所示),并将以下代码添加到Bugsnag设置对象中:
bugsnag.configure({
autoCaptureSessions: true,
beforeSend: function (report) {
// 尝试从请求处理程序中获取请求数据
const request = bugsnag.requestHandler.getRequest()
if (request) {
// 将请求数据附加到错误报告
report.addMetadata('request', {
url: request.url,
headers: request.headers,
method: request.method,
httpVersion: request.httpVersion,
params: request.params,
query: request.query,
cookies: request.cookies,
body: request.body,
session: request.session
})
}
}
})
这将添加一个“请求”选项卡,其中包含请求数据。