1

我正在尝试在请求完成时自动记录。

我有这样的事情:

function (req, res, next) {
    var startTime = clock.now();
    res.on('end'. function() {
        logger.trace("END ...", req.path, res.statusCode, clock.now() - startTime, ...);
    });
    res.on('error'. function() {
        logger.trace("END ...", req.path, clock.now() - startTime, ...);
    });
    nest();
}
  • 这样做是否涵盖所有情况?(例如,当请求被中断时)
  • 对于每个请求,我最多会被调用一次吗?

如果任何一个答案是否定的,请包括如何做。

4

1 回答 1

1

尝试根据文档设置完成事件:

这是一个示例实现:

app.use(function(req, res, next) {
    res.on('finish', function() {
        console.log('the response has been sent', res.statusCode);
    });
    next();
});
于 2017-06-28T14:44:33.480 回答