Example #1
0
	return level == '_' ? '' : consoul.colorize ? label[winston.config.allColors[level]] : label;
};

logger.exception = function (ex) {
	if (ex.stack) {
		ex.stack.split('\n').forEach(logger.error);
	} else {
		logger.error(ex.toString());
	}
	logger.log();
};

// init the logger with sensible cli defaults
logger.cli();

// override levels, must be done after calling cli()
logger.setLevels({
	trace: 0,
	debug: 1,
	info: 2,
	warn: 3,
	error: 4,
	_: 5 // generic log() call
});

// override colors, must be done after calling cli()
winston.addColors({
	trace: 'grey',
	debug: 'magenta'
});
Example #2
0
// ==========================================

String.prototype.endsWith = function (suffix) {
  return this.indexOf(suffix, this.length - suffix.length) !== -1;
};

// ==========================================
//  LOG MANAGER
// ==========================================

var winston = require('winston');
winston.add(winston.transports.File, {
  filename: 'script/wsrnode.log'
});
winston.addColors({
  info: 'blue'
});

winston.info("==========================================");
winston.info(" STARTING WSRNodeJS ");
winston.info("==========================================");

process.on('uncaughtException', function (err) {
  winston.log('error', 'Caught exception: ' + err.stack);
});

// ==========================================
//  SARAH MANAGER
// ==========================================

var SARAH = require('./manager/sarah.js').init();
Example #3
0
/**
 * Wraps some boilerplate winston setup
 **/

var winston = require('winston');
var config = require('config');

var loggers = {};   // Store name->logger
winston.addColors(config.get('log.colors'));

function getLogger(name) {
  "use strict";
  if (loggers.hasOwnProperty(name)) {
    return loggers[name];
  }
  //Create new logger
  var opts = {
    console: {
      level: config.get('log.level'),
      colorize: true,
      timestamp: true,
      label: name
    }
  };
  winston.loggers.add(name, opts);
  var logger = winston.loggers.get(name);
  logger.setLevels(config.get('log.levels'));
  loggers[name] = logger;
  return logger;
}
    info: 2,
    warn: 1,
    debug: 0
  },
  colors: {
    fatal: 'blue',
    error: 'red',
    info: 'green',
    warn: 'yellow',
    debug: 'grey'
  }
};

const logger = new winston.Logger();
winston.setLevels(loggerSettings.levels);
winston.addColors(loggerSettings.colors);
logger.add(winston.transports.Console, settings.logger);

/**
 * Core logging function
 * @param module
 * @param level
 * @param message
 * @param metadata
 */
var log = function (module, level, message, metadata) {
  var info = moment().format() + ' ' + module + ': ';
  if (_.isObject(message)) {
    info += util.inspect(message);
  }
  else {
Example #5
0
var winston = require('winston');
winston.addColors(config.logging.colors);

module.exports = function (filename) {
    var logger = new winston.Logger({
        transports: [
            new winston.transports.Console({
                level: config.logging.consoleSetting,
                colorize:true
            }),
            new winston.transports.File({
                level: config.logging.fileSetting,
                colorize:true,
                json: false,
                filename: filename
            })
            /*
            ,new winston.transports.MongoDB({
                host: 'localhost',
                db: 'logDb',
                collection: 'log',
                level: 'info',
                levels: customLevels.levels,
                handleExceptions: true
            })
            */
        ]
    });
    //logger.setLevels(winston.config.syslog.levels);
    logger.setLevels(config.logging.levels);
    logger.exitOnError = false;
Example #6
0
	initialize: function() {
		BaseModel.prototype.initialize.apply(this);
		global.logger = new winston.Logger();

		logger.setLevels({
			info: 0,
			warn: 1,
			error: 2
		});

		winston.addColors({
			info: 'green',
			warn: 'yellow',
			error: 'red'
		});

		// Set up console logger.
		if (this.get('console').enabled) {
			logger.add(winston.transports.Console, this.get('console'));
		}

		// Set up file logger.
		if (this.get('file').enabled) {
			// Create the log file folder.
			var dir = path.dirname(this.get('file').filename);
			if (!fs.existsSync(dir)) {
				fs.mkdirSync(dir);
			}

			this.get('file').timestamp = function() {
				return moment().format('YYYY-MM-DD HH:mm:ss');
			};

			logger.add(winston.transports.DailyRotateFile, this.get('file'));
		}

		// Set up email.
		if (this.get('mail').enabled) {
			this.get('mail').subject = this.get('mail').subject ? this.get('mail').subject.replace('{hostname}', os.hostname()) : os.hostname();
			logger.add(require('winston-mail').Mail, this.get('mail'));
		}

		// Set up loggly.
		if (this.get('loggly').enabled) {
			var opts = this.get('loggly');
			opts.tags = opts.tags ? [opts.tags] : [];
			opts.tags.push(os.hostname());
			logger.add(require('winston-loggly').Loggly, opts);
		}

		// Set up Windows event log. Sort of hacky. Piggy-back on the console logger and log to the event log whenever it does.
		if (this.get('eventLog').enabled) {
			this.registerEventSource();
			logger.on('logging', _.bind(function(transport, level, msg, meta) {
				if (transport.name == 'console') {
					level = this._winstonLevelToWindowsLevel[level];
					this.writeEventLog(level, msg, meta);
				}
			}, this));
		}

		// Set up Google Analytics. 
		if (this.get('google').enabled) {
			this._google = ua(this.get('google').accountId, os.hostname(), {
				strictCidFormat: false
			});
		}

		// Set up the cache, which is just a history of log messages.
		if (this.get('cacheAmount')) {
			this.set('logCache', []);
			this.set('eventCache', []);
			logger.on('logging', _.bind(function(transport, level, msg, meta) {
				if (transport.name == 'console') {
					var cache = this.get('logCache');
					cache.push({
						time: moment().format('YYYY-MM-DD HH:mm:ss'),
						level: level,
						msg: msg
					});
					if (cache.length > this.get('cacheAmount')) {
						cache.splice(0, cache.length - this.get('cacheAmount'));
					}
				}
			}, this));
		}

		$$network.transports.socketToApp.sockets.on('connection', _.bind(function(socket) {
			// Log on request from the app.
			socket.on('log', _.bind(this._logMessage, this));
			// Track events on request from the app.
			socket.on('event', _.bind(this._logEvent, this));
		}, this));

		// Log on request from the app.
		$$network.transports.oscFromApp.on('log', _.bind(this._logMessage, this));
		// Track events on request from the app.
		$$network.transports.oscFromApp.on('event', _.bind(this._logEvent, this));
	},
Example #7
0
var logentries = require('node-logentries');
var config = require('./config');

var log = logentries.logger({
	token: config.get('logentries:token'), //'49b3c292-089e-4d6e-a58c-9bfaddb3ac86',
	levels: config.get('logentries:custom:levels') // myCustomLevels.levels
});

// use as a winston transport
var winston = require('winston');
winston.setLevels(config.get('logentries:custom:levels'));
winston.addColors(config.get('logentries:custom:colors'));
winston
  .remove(winston.transports.Console)
  .add(winston.transports.Console, { colorize: true, timestamp: true });
log.winston(winston, { level: 'debug' });

// display logentries errors in console.
log.on('error', function(err) {
	console.log('logentries error: ' + err);
});

module.exports = winston;
Example #8
0
  winston.error('Loglevel must be one of: ',
                'quiet, verbose, data, info, warn, error, debug');
  process.exit(1);
}

log = new (winston.Logger)({
  transports: [new winston.transports.Console({
    level: program.loglevel,
    levels: loglevels.levels,
    colorize: true
  })],
  level: program.loglevel,
  levels: loglevels.levels,
  colorize: true
});
winston.addColors(loglevels.colors);

// have to do this before changing directory
if (program.scraper) program.scraper = path.resolve(program.scraper)
if (program.scraperdir) program.scraperdir = path.resolve(program.scraperdir)

// create output directory
if (!fs.existsSync(program.output)) {
    log.debug('creating output directory: ' + program.output);
    fs.mkdirSync(program.output);
}
process.chdir(program.output);
tld = process.cwd();

if (program.hasOwnProperty('logfile')) {
  log.add(winston.transports.File, {