Simple logger middleware for socket.io.
$ npm install socket.io-logger
var fs = require('fs');
var io = require('socket.io')(3000);
var options = {stream: fs.createWriteStream('/var/log/events.log',{flags:'a'}) };
var logger = require('socket.io-logger')(options);
io.use(logger);
- Data is flattened with flat.
- Customized formatting support.
- Plugable interface to use with your favorite logger packages.
var Logger = require('socket.io-logger')();
io.use(Logger());
By default the logger middleware will write to stdout
.
var options = {
stream: fs.createWriteStream('/var/log/events.log', {flags:'a'})
format: function (sock, args) { return { sock:sock.id, args: args}; }
};
io.use(Logger(options));
You can use anything as long as the stream
has a write
method.
var options = {
stream: {
write: function (data) {
console.log(data);
}
}
};
io.use(Logger(options));
The stream
must have a write
method.
var stream = fs.createWriteStream('/var/log/events.log', {flags:'a'});
var logger = Logger();
logger.stream(stream);
io.use(logger);
Set a customized function to manipulate the data that will be serialized.
var format = function (sock, args) {
return {
sock: sock.id,
name: args.shift(),
data: args
};
};
var logger = Logger();
logger.format(format);
io.use(logger);
Install node.js (See download and install instructions here: http://nodejs.org/).
Clone this repository
> git clone [email protected]:turbonetix/socket.io-logger.git
cd into the directory and install the dependencies
> cd socket.io-logger
> npm install && npm shrinkwrap --dev
Install coffee-script
> npm install coffee-script -g
Tests are run using grunt. You must first globally install the grunt-cli with npm.
> sudo npm install -g grunt-cli
To run the tests, just run grunt
> grunt spec