socket.io
似乎有一个基本合理的日志系统,用于其所有内部结构。我如何自己获取该日志记录对象,以便我可以在适当的级别生成我自己的日志消息?令我烦恼的是,我的 console.log()
消息在 socket.io
消息旁边没有时间戳、未分级且丑陋。我在 socket.io
代码中做了很多探索,但我现在对 Node 还不够了解,无法理解对象层次结构是什么样的,不知道如何获取对象我想要我的代码。
从长远来看,我可能需要一个更健壮的日志系统模块(能够记录到文件、自动轮换、在每个模块的基础上管理级别、自定义日志级别等)。 Winston看起来很合理,但我也可以让 socket.io
来使用它吗?将所有内容都放在一个地方会很好。
最佳答案
在使用 socket.io 时,我能够像这样插入现有的记录器模块:
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));
io.configure('production', function(){
io.set('log level', 1);
}
关于logging - 我如何插入 socket.io 的内置日志系统来生成我自己的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7621662/