7

Hapi.js を使用して、モバイル アプリケーション用の RESTful API を実装しています。リクエスト、エラー、およびその他のイベントをログに記録するために Good を統合しました。それは私にとって非常にうまく機能します。ただし、リクエストとレスポンスのペイロード (JSON オブジェクト) をログに記録する方法は明確ではありません。

助けていただければ幸いです。

4

2 に答える 2

4

これにより、必要なものがログに記録されます。

server.on('response', function (request) {
    console.log(request.info.remoteAddress + ': ' + request.method.toUpperCase() + ' ' + request.url.path + ' --> ' + request.response.statusCode);
    console.log('Request payload:', request.payload);
    console.log('Response payload:', request.response.source);
});

は使用Goodしていませんが、これを に接続するのGoodは難しくないと思います。

于 2015-04-23T10:01:35.870 に答える
3

これが遅れていることはわかっていますが、オプションでgoodを使用してリクエストとレスポンスのペイロードをキャプチャできるようになったことをここに記載する価値があります。

[requestPayload] - レポーター オブジェクトがリクエスト ペイロードを利用できるかどうかを決定します。デフォルトは false

[responsePayload] - レポーター オブジェクトが応答ペイロードを使用できるかどうかを決定します。デフォルトは false

例えば:

var options = {
    responsePayload: true,
    reporters: [{
        reporter: require('good-console'),
        events: { log: '*', response: '*' }
    }]
};

注意すべきことは、ユーザー名とパスワードをプレーン テキストでログ ファイルに保存する可能性が高いことです。filter応答と要求のペイロードをログに記録するときは、次のオプションの使用を検討する必要があります。

[filter] - 次のキーを持つオブジェクト:

  • key - 変更するデータ プロパティのキー
  • 値 - 次のいずれかの文字列:
    • 「検閲」 - テキストを「X」に置き換えます
    • 「削除」 - 有効な正規表現文字列の値を削除します。1 つのグループのみをサポートします。例: "(\d{4})$" は、最後の 4 桁を "X" に置き換えます。この文字列を作成するときは、特に注意してください。結果の RegExp オブジェクトが必要なものであることを確認する必要があります。
于 2015-09-29T07:45:48.490 に答える