我正在使用Hapi.js为我的移动应用程序实现RESTful API。我已经集成了Good for logging请求,错误和其他事件。它对我很有用。但是,如何记录请求和响应有效负载(JSON对象)尚不清楚。
我将不胜感激。
答案 0 :(得分: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
联系起来并不难。
答案 1 :(得分:3)
我知道这已经很晚了,但值得一提的是,您现在可以选择使用good来捕获请求和响应有效负载:
[requestPayload] - 确定请求有效负载是否可供记者对象使用。默认为false
[responsePayload] - 确定响应有效负载是否可供记者对象使用。默认为false
例如:
var options = {
responsePayload: true,
reporters: [{
reporter: require('good-console'),
events: { log: '*', response: '*' }
}]
};
需要注意的是,您现在很可能会在日志文件中以纯文本格式存储用户名和密码。记录响应和请求有效负载时,应考虑使用filter
选项:
[filter] - 具有以下键的对象:
- key - 要更改的数据属性的键
- value - 一个字符串,可以是以下之一:
- "检查员" - 用" X" s
替换文本- "除去" - 删除该值 有效的常规快递字符串。仅支持单个组。例如:"(\ d {4})$"将用" X" s替换最后四位数字。创建此字符串时要格外小心。您需要确保生成的RegExp对象是您所需的。