我有代码可以在套接字级别记录到我的 HTTP 服务器的每个连接,并记录任何传入数据。
这段代码最初是为 NodeJS 0.8 编写的,在那里运行良好。
不,我的项目已迁移到 0.10.24,并且套接字日志记录代码停止工作。
这是我的代码:
var netLogStream = fs.createWriteStream('net.log');
(function(f) {
net.Server.prototype.listen = function(port) {
var rv = f.apply(this, arguments); // (1)
rv.on('connection', function(socket) { // (2)
socket.on('data', function(data) {
data.toString().split('\n').forEach(function(line) { // (3)
netLogStream.write('... some logging here ... ' + line);
});
});
});
return rv;
};
})(net.Server.prototype.listen);
在 0.10 上,我可以到达(1)
并获得Socket
实例,(2)
但我从来没有到达(3)
. 同时我的整个应用程序运行良好,没有任何问题。
ADD : 我的服务器是用 Express@3.4.x 创建的