【发布时间】:2017-06-20 08:21:54
【问题描述】:
我想要一个中间件,比如每条路由的 Express log request summary end =>
[POST] /books/commentpart 200 1435.472 ms - 35
我想在每个请求的末尾记录更多数据。但是我不知道如何编写这样的中间件。我在所有路由之后都尝试了中间件功能,但它没有用。在每个路由器中,我还通过 next() 调用。
app.use(responseTime());
//router
app
.use(users(app, db))
.use(dataLogs(app, db))
.use(category(app, db));
//log middleware
app.use(function(req, res, next) {
var data = {};
var method = req.method;
if(method == 'GET'){
data = req.query;
} else {
data = req.body;
}
var resTime = res.getHeader('X-Response-Time');
log.debug(' [ ' + iduser + ' ] - ' + req.route.path + ' - ' + resTime + ' : ' + JSON.stringify(data));
});
module.exports = app;
【问题讨论】:
-
您能分享一下您尝试过但没有奏效的方法吗?
-
我添加了更多代码,谢谢
-
我认为您应该能够使用
morgan实现类似的功能。
标签: node.js express middleware