Le titre devrait être assez explicite. À des fins de débogage, je voudrais exprimer le code de réponse et le corps pour chaque demande traitée. L'impression du code de réponse est assez facile, mais imprimer le corps de la réponse est plus délicat, car il semble que le corps de la réponse ne soit pas facilement disponible en tant que propriété.corps de réponse d'enregistrement express
Ce qui suit ne fonctionne pas:
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);
Bien sûr, je pourrais facilement imprimer les réponses au client qui a émis la demande, mais je préférerais faire du côté serveur aussi. PS: Si ça aide, toutes mes réponses sont json, mais j'espère qu'il y a une solution qui fonctionne avec les réponses générales.
Merci @ laurent-perrin. Votre réponse fonctionne définitivement. Je vais attendre de voir si quelqu'un a une solution plus simple, sinon je la marquerai comme la réponse acceptée. –
Belle solution, mais que faire si j'ai besoin d'utiliser la compression de réponse? – marmor
cela devrait fonctionner, tant que vous appelez 'app.use' avant le middleware de compression. –