Название должно быть довольно само собой разумеющимся.экспресс-каротаж тела ответа
Для целей отладки я хотел бы выразить, чтобы напечатать код ответа и тело для каждого обслуживаемого запроса. Печать кода ответа достаточно проста, но печать тела ответа сложнее, так как кажется, что тело ответа не доступно в качестве свойства.
Следующая не работает:
var express = require('express');
var app = express();
// define custom logging format
express.logger.format('detailed', function (token, req, res) {
return req.method + ': ' + req.path + ' -> ' + res.statusCode + ': ' + res.body + '\n';
});
// register logging middleware and use custom logging format
app.use(express.logger('detailed'));
// setup routes
app.get(..... omitted ...);
// start server
app.listen(8080);
Конечно, я мог бы легко печатать ответы на клиента, испускаемого запрос, но я предпочел бы делать на стороне сервера тоже.
PS: Если это помогает, все мои ответы - json, но, надеюсь, есть решение, которое работает с общими ответами.
Thanks @ laurent-perrin. Ваш ответ определенно работает. Я подожду, чтобы увидеть, есть ли у кого-то более простое решение, иначе я буду отмечать его как принятый ответ. –
Хорошее решение, но что, если мне нужно использовать сжатие ответа? – marmor
он должен работать, если вы вызываете 'app.use' перед промежуточным программным обеспечением для сжатия. –