对于日志记录/调试,我想在响应发送到浏览器之前输出前一百个字符左右。我可以用中间件和响应对象做一些简单的事情吗?
理想情况下,它类似于:
app.use(function(req, res, next) {
console.log('Response snippet: '+((res.body || '').substr(0,100)));
next();
});
除了响应没有正文,我无法弄清楚当前要发回的正文在哪里传递。
更新:
彼得的回答奏效了,我想我会把我的中间件代码放在这里,以节省未来的观众点击:
App.use(function(req, res, next) {
var end = res.end;
res.end = function(chunk, encoding){
res.end = end;
if (chunk) {
console.log(chunk);
}
res.end(chunk, encoding);
};
next();
});