Expressアプリケーションでロガーを実装しようとしています。私は、リクエストごとに返されたリクエストとレスポンス(ステータスコードとボディ)を記録できるようにする必要があります。私は、応答を送信するために使用res
オブジェクトのメソッドに渡されたデータにアクセスする必要がエクスプレスミドルウェアでのリクエストと応答のログ
function (req, res, next) {
...
res.on('finish', function() {
Logger.debug('For request', req);
Logger.debug('Response sent');
});
...
}
:私はこのようになりますミドルウェアを書き始めました。例えば、私が持っていた1つのコントローラであれば:
function (req, res, next) {
...
res.on('finish', function() {
Logger.debug('For request', req);
var data = res.data; // or res.body, or whatever
Logger.debug('Response: ' + res.statusCode, data);
});
...
}
エクスプレスres
オブジェクト内の任意のプロパティやメソッドがあります:
res.json({ foo: 'bar' })
私は{ foo: 'bar' }
オブジェクト、このようなものが多分ことを取得する方法が必要です私はそれを使うことができますか?あるいは、要求とその応答を記録するためのより良い戦略がありますか?
['express-interceptor'](https://github.com/axiomzen/express-interceptor)のように、応答本体に手を入れるために使用できるさまざまなモジュールがあります。 – robertklep