Tytuł powinien być dość samoobjawny.Jednostka rejestrująca ekspresowe rejestrowanie danych
Dla celów debugowania, chciałbym wyrazić, aby wydrukować kod odpowiedzi i treść dla każdego obsługiwanego żądania. Drukowanie kodu odpowiedzi jest łatwe, ale drukowanie treści odpowiedzi jest trudniejsze, ponieważ wydaje się, że treść odpowiedzi nie jest łatwo dostępna jako właściwość.
Następujące nie działa:
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);
Oczywiście, mógłbym z łatwością drukować odpowiedzi na kliencie, który emitowany wniosek, ale wolałbym robić po stronie serwera zbyt.
PS: Jeśli to pomaga, wszystkie moje odpowiedzi są fałszywe, ale mam nadzieję, że istnieje rozwiązanie, które działa z ogólnymi odpowiedziami.
Dzięki @ laurent-perrin. Twoja odpowiedź na pewno działa. Będę czekać, aby sprawdzić, czy ktoś ma prostsze rozwiązanie, w przeciwnym razie oznaczę to jako zaakceptowaną odpowiedź. –
Ładne rozwiązanie, ale co, jeśli muszę użyć kompresji odpowiedzi? – marmor
powinien działać, tak długo jak nazywasz 'app.use' przed oprogramowaniem pośredniczącym kompresji. –