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] - 确定请求负载是否可用于报告对象。默认为假

[responsePayload] - 确定响应负载是否可用于报告对象。默认为假

例如:

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

需要注意的是,您现在很可能会在日志文件中以纯文本形式存储用户名和密码。filter在记录响应和请求有效负载时,您应该考虑使用该选项:

[过滤器] - 具有以下键的对象:

  • key - 要更改的数据属性的键
  • value - 一个字符串,可以是以下之一:
    • “审查员” - 用“X”替换文本
    • "remove" - 删除一个有效的正则表达式字符串的值。仅支持单个组。例如:“(\d{4})$”将用“X”替换最后四位数字。创建此字符串时要格外小心。您需要确保生成的 RegExp 对象是您所需要的。
于 2015-09-29T07:45:48.490 回答