Nostalgic Piano Music

    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

    Install

    npm i socket.io-logger

    DownloadsWeekly Downloads

    663

    Version

    0.0.2

    License

    MIT

    Last publish

    Collaborators

    • nromano