4 * Copyright(c) 2011 LearnBoost <dev@learnboost.com>
12 var util = require('./util')
13 , toArray = util.toArray;
27 * Colors for log levels.
38 * Pads the nice output to the longest log level.
44 for (var i = 0, l = levels.length; i < l; i++)
45 max = Math.max(max, levels[i].length);
48 return str + new Array(max - str.length + 1).join(' ');
59 var Logger = module.exports = function (opts) {
61 this.colors = false !== opts.colors;
72 Logger.prototype.log = function (type) {
73 var index = levels.indexOf(type);
75 if (index > this.level || !this.enabled)
81 ? ' \033[' + colors[index] + 'm' + pad(type) + ' -\033[39m'
83 ].concat(toArray(arguments).slice(1))
93 levels.forEach(function (name) {
94 Logger.prototype[name] = function () {
95 this.log.apply(this, [name].concat(toArray(arguments)));