| winston.js | |
|---|---|
| /*
 * winston.js: Top-level include defining Winston.
 *
 * (C) 2010 Charlie Robbins
 * MIT LICENCE
 *
 */
var winston = exports; | |
| Expose version using  | require('pkginfo')(module, 'version'); | 
| Include transports defined by default by winston | winston.transports = require('./winston/transports');
var common           = require('./winston/common');
winston.hash           = common.hash;
winston.clone          = common.clone;
winston.longestElement = common.longestElement;
winston.exception      = require('./winston/exception');
winston.config         = require('./winston/config');
winston.addColors      = winston.config.addColors; 
winston.Logger         = require('./winston/logger').Logger;
winston.Transport      = require('./winston/transports/transport').Transport; | 
| We create and expose a 'defaultLogger' so that the programmer may do the following without the need to create an instance of winston.Logger directly:  | var defaultLogger = new winston.Logger({ 
  transports: [new winston.transports.Console()] 
}); | 
| Pass through the target methods onto `winston. | var methods = [
  'log', 
  'add', 
  'remove', 
  'profile', 
  'extend', 
  'cli', 
  'handleExceptions', 
  'unhandleExceptions'
];
common.setLevels(winston, null, defaultLogger.levels);
methods.forEach(function (method) {
  winston[method] = function () {
    return defaultLogger[method].apply(defaultLogger, arguments);
  };
}); | 
| function cli ()Configures the default winston logger to have the settings for command-line interfaces: no timestamp, colors enabled, padded output, and additional levels. | winston.cli = function () {
  winston.padLevels = true;
  common.setLevels(winston, defaultLogger.levels, winston.config.cli.levels);
  defaultLogger.setLevels(winston.config.cli.levels);
  winston.config.addColors(winston.config.cli.colors);
  
  if (defaultLogger.transports.console) {
    defaultLogger.transports.console.colorize = true;
    defaultLogger.transports.console.timestamp = false;
  }
  
  return winston;
}; | 
| function setLevels (target)@target {Object} Target levels to useSets the  | winston.setLevels = function (target) {
  common.setLevels(winston, defaultLogger.levels, target);
  defaultLogger.setLevels(target);
}; | 
| Define getters / setters for appropriate properties of the default logger which need to be exposed by winston. | ['emitErrs', 'padLevels', 'levelLength'].forEach(function (prop) {
  Object.defineProperty(winston, prop, {
    get: function () {
      return defaultLogger[prop];
    },
    set: function (val) {
      defaultLogger[prop] = val;
    }
  });
}); | 
| @default {Object} The default transports and exceptionHandlers for the default winston logger. | Object.defineProperty(winston, 'default', {
  get: function () {
    return {
      transports: defaultLogger.transports,
      exceptionHandlers: defaultLogger.exceptionHandlers
    };
  }
});
 |