如何插入socket.io的内置日志logging系统来生成我自己的消息?

socket.io似乎有一个基本上合理的日志系统的所有内部。 我该如何获得这个日志logging对象,以便我可以在适当的级别上生成我自己的日志消息? 它错误地告诉我,我的console.log()消息在socket.io消息旁边没有被时间戳,未被定级和丑陋。 我已经在socket.io代码中做了大量的开发工作,并且我还没有足够的关于节点的知识来了解对象层次结构是如何知道如何从我的代码中获取对象的。

从长远来看,我可能会想要一个更强大的日志logging系统模块(能够login到文件,自动旋转,基于每个模块pipe理级别,自定义日志级别等)。 温斯顿看起来很明智,但是我也可以使用socket.io来使用它吗? 把所有东西都放在一个地方很好。

在使用socket.io时,我能够插入现有的logging器模块,如下所示:

 var express = require('express'), app = module.exports = express.createServer(), //just creating 'app' for io io = require('socket.io').listen(app), logger = io.log, // access the existing logger setup in socket.io util = require('util'); logger.info(util.format("Express server listening on port %d in %s mode", 8003, app.settings.env)); 

configurationlogging器也很简单:

 io.configure('production', function(){ io.set('log level', 1); } 

您是否使用Connect的logging器中间件? 它看起来像某人已经创build了一个你想要叫做socket.IO-connect的库 。 我在我的Express程序中使用了类似的东西:

 var connect = require('connect'); module.exports = connect.createServer( connect.logger({ format: ':response-time :method :url' }), connect.static(__dirname + '/public) );