我正在使用 Hapi.js 为我的移动应用程序实现 RESTful API。我已经集成了 Good 用于记录请求、错误和其他事件。它对我来说效果很好。但是,尚不清楚如何记录请求和响应负载(JSON 对象)。
我将不胜感激任何帮助。
我正在使用 Hapi.js 为我的移动应用程序实现 RESTful API。我已经集成了 Good 用于记录请求、错误和其他事件。它对我来说效果很好。但是,尚不清楚如何记录请求和响应负载(JSON 对象)。
我将不胜感激任何帮助。
这记录了您需要的内容:
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
应该不难。
我知道这已经很晚了,但值得在这里说明的是,您现在可以选择使用good捕获请求和响应有效负载:
[requestPayload] - 确定请求负载是否可用于报告对象。默认为假
[responsePayload] - 确定响应负载是否可用于报告对象。默认为假
例如:
var options = {
responsePayload: true,
reporters: [{
reporter: require('good-console'),
events: { log: '*', response: '*' }
}]
};
需要注意的是,您现在很可能会在日志文件中以纯文本形式存储用户名和密码。filter
在记录响应和请求有效负载时,您应该考虑使用该选项:
[过滤器] - 具有以下键的对象:
- key - 要更改的数据属性的键
- value - 一个字符串,可以是以下之一:
- “审查员” - 用“X”替换文本
- "remove" - 删除一个有效的正则表达式字符串的值。仅支持单个组。例如:“(\d{4})$”将用“X”替换最后四位数字。创建此字符串时要格外小心。您需要确保生成的 RegExp 对象是您所需要的。