Sha256: ec70c1ad3607e0361ad0ee5d47f8a8e7395897edf9031709a5fca79998cc15a8

Contents?: true

Size: 1.39 KB

Versions: 18

Compression:

Stored size: 1.39 KB

Contents

/*!
 * socket.io-node
 * Copyright(c) 2011 LearnBoost <dev@learnboost.com>
 * MIT Licensed
 */

/**
 * Module dependencies.
 */

var util = require('./util')
  , toArray = util.toArray;

/**
 * Log levels.
 */

var levels = [
    'error'
  , 'warn'
  , 'info'
  , 'debug'
];

/**
 * Colors for log levels.
 */

var colors = [
    31
  , 33
  , 36
  , 90
];

/**
 * Pads the nice output to the longest log level.
 */

function pad (str) {
  var max = 0;

  for (var i = 0, l = levels.length; i < l; i++)
    max = Math.max(max, levels[i].length);

  if (str.length < max)
    return str + new Array(max - str.length + 1).join(' ');

  return str;
};

/**
 * Logger (console).
 *
 * @api public
 */

var Logger = module.exports = function (opts) {
  opts = opts || {}
  this.colors = false !== opts.colors;
  this.level = 3;
  this.enabled = true;
};

/**
 * Log method.
 *
 * @api public
 */

Logger.prototype.log = function (type) {
  var index = levels.indexOf(type);

  if (index > this.level || !this.enabled)
    return this;

  console.log.apply(
      console
    , [this.colors
        ? '   \033[' + colors[index] + 'm' + pad(type) + ' -\033[39m'
        : type + ':'
      ].concat(toArray(arguments).slice(1))
  );

  return this;
};

/**
 * Generate methods.
 */

levels.forEach(function (name) {
  Logger.prototype[name] = function () {
    this.log.apply(this, [name].concat(toArray(arguments)));
  };
});

Version data entries

18 entries across 18 versions & 3 rubygems

Version Path
hooch-0.4.2 jasmine/node_modules/karma/node_modules/socket.io/lib/logger.js
hooch-0.4.1 jasmine/node_modules/karma/node_modules/socket.io/lib/logger.js
hooch-0.4.0 jasmine/node_modules/karma/node_modules/socket.io/lib/logger.js
hooch-0.3.0 jasmine/node_modules/karma/node_modules/socket.io/lib/logger.js
hooch-0.2.1 jasmine/node_modules/karma/node_modules/socket.io/lib/logger.js
hooch-0.2.0 jasmine/node_modules/karma/node_modules/socket.io/lib/logger.js
hooch-0.1.0 jasmine/node_modules/karma/node_modules/socket.io/lib/logger.js
hooch-0.0.8 jasmine/node_modules/karma/node_modules/socket.io/lib/logger.js
hooch-0.0.7 jasmine/node_modules/karma/node_modules/socket.io/lib/logger.js
hooch-0.0.6 jasmine/node_modules/karma/node_modules/socket.io/lib/logger.js
entangled-0.0.16 spec/dummy/public/node_modules/karma/node_modules/socket.io/lib/logger.js
entangled-0.0.15 spec/dummy/public/node_modules/karma/node_modules/socket.io/lib/logger.js
entangled-0.0.14 spec/dummy/public/node_modules/karma/node_modules/socket.io/lib/logger.js
entangled-0.0.13 spec/dummy/public/node_modules/karma/node_modules/socket.io/lib/logger.js
entangled-0.0.12 spec/dummy/public/node_modules/karma/node_modules/socket.io/lib/logger.js
entangled-0.0.11 spec/dummy/public/node_modules/karma/node_modules/socket.io/lib/logger.js
entangled-0.0.10 spec/dummy/public/node_modules/karma/node_modules/socket.io/lib/logger.js
iron_worker_ng-0.10.1 iron_worker_examples/binary/phantom-nodejs/node_modules/phantom/node_modules/dnode/node_modules/socket.io/lib/logger.js