socket.io-logger

0.0.2 • Public • Published

Build Status NPM version David DM

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);

Features

  • Data is flattened with flat.
  • Customized formatting support.
  • Plugable interface to use with your favorite logger packages.

API

Logger

var Logger = require('socket.io-logger')();

Logger#

io.use(Logger());

By default the logger middleware will write to stdout.

Logger#(options:Object)

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));

Logger#stream (stream:Object)

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);

Logger#format (format:Function)

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);

Installation and Environment Setup

Install node.js (See download and install instructions here: http://nodejs.org/).

Clone this repository

> git clone git@github.com:turbonetix/socket.io-logger.git

cd into the directory and install the dependencies

> cd socket.io-logger
> npm install && npm shrinkwrap --dev

Running Tests

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

Unit Tests

To run the tests, just run grunt

> grunt spec

TODO

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.0.2
    181
    • latest

Version History

Package Sidebar

Install

npm i socket.io-logger

Weekly Downloads

158

Version

0.0.2

License

MIT

Last publish

Collaborators

  • nromano