我正在使用一个名为request
(https://www.npmjs.com/package/request)的模块在我的应用程序上执行一系列http请求。现在我正在尝试向其添加日志记录功能,但似乎无法弄清楚如何从请求模块捕获事件。我可以像这样进行事件捕获:
var request = require('request');
request('http://www.stackoverflow.com').on('request', function (data) {
console.log(data.method + ":" + data._headers.host);
}).on('response', function (data) {
console.log("Status: " + data.statusCode);
});
这将产生以下输出:
$ node test.js
GET:www.stackoverflow.com
GET:stackoverflow.com
状态: 200
如何在request()
调用后捕获事件而不指定它?理想情况下,我只需要request
模块和其他一些文件,其中包含请求事件的所有侦听器并开始使用request
,而无需担心事件处理。因此,最终结果将在代码文件中如下所示:
var request = require('request');
var requestLogger = require('reqLogger')(request);
根据request
自述文件,至少有几种不同的方法可以从request
获取调试信息。特别是第三种解决方案(使用request-debug
)似乎可以准确地满足您的当前尝试。