Node.js + Express-如何在res.on事件中获取res数据进行记录

时间:2018-09-12 15:54:37

标签: node.js express

我已经构建了一个api,我想记录所有的请求和响应。

我有一条路线GET: api/transactions

在此路线中,我返回以下响应。包装响应在我的应用程序中很常见。

return res.status(200).json({
    success: true,
    status: 200,
    data: transaction,
    message: "Successfully retrieved transaction",
});

我有一个正在处理创建日志条目的中间件。在res.on("finish")事件内部,我想访问上面返回的json数据。

app.use(responseTime((req, res, time) => {

            res.on("finish", () => {

                // console.log(res);

                const responseLog = {
                    log_id: logId,
                    line_data_statusCode: res.statusCode,
                    line_data_statusMessage: res.statusMessage,
                    line_data_responseTime: time,
                    message: ".", // get res json message
                };

                this.log.info({ ...responseLog, ...{ log_type: "response" } });

            });

        }));

如何从事件中访问res数据。

0 个答案:

没有答案