启用socket.io时无法logging请求

我试图debugging一个socket.io的问题。 为了弄清楚发生了什么,我想logging所有请求,所以我安装了摩根。

var express = require('express'); var app = express(); app.use(require('morgan')('dev')); var path = require('path'); var http = require('http').Server(app); var io = require('socket.io')(http); // this line prevents morgan from logging 

logging工作正常,直到我需要socket.io – 最后一行显然阻止摩根看到所有的请求。

为什么socket.io阻止堆栈的其他部分看到请求?

编辑

这里的一些解释:显然socket.io太冗长了,并且默认closures了debugging。 如果我运行DEBUG=*在我的环境中设置,我得到更多的信息。

但是对于其他的堆栈来说,这似乎并不友好。

DEBUG=*可能太冗长了,但是debugging模块也可以让你指定逗号分隔的可通配模式列表。 一些例子:

 DEBUG=socket.io* DEBUG=socket.io*,engine:* DEBUG=socket.io:socket,engine:socket