UNPKG

webappengine

Version:

A web application server that can host multiple web apps running with Node.js.

112 lines (87 loc) 3.61 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _cluster = require('cluster'); var _cluster2 = _interopRequireDefault(_cluster); var _util = require('util'); var _util2 = _interopRequireDefault(_util); var _winston = require('winston'); var _winston2 = _interopRequireDefault(_winston); var _settings = require('../config/settings'); var _settings2 = _interopRequireDefault(_settings); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var meta = function meta() { var meta = {}; if (_cluster2.default.isMaster) { meta.id = 0; meta.pid = process.pid; } else if (_cluster2.default.isWorker) { meta.id = _cluster2.default.worker.id; meta.pid = _cluster2.default.worker.process.pid; } return { meta: meta }; }; // https://code.google.com/p/v8/wiki/JavaScriptStackTraceApi var getStackTrace = function getStackTrace() { var obj = {}; Error.captureStackTrace(obj, getStackTrace); return (obj.stack || '').split('\n'); }; var prefix = []; var logger = new _winston2.default.Logger({ exitOnError: false, level: _settings2.default.winston.level, transports: [new _winston2.default.transports.Console({ colorize: true, timestamp: true, handleExceptions: true, json: false })] }); exports.default = { logger: logger, log: function log() { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var level = args.shift(); var stackTrace = getStackTrace()[2]; logger.log(level, _util2.default.format.apply(_util2.default.format, prefix.concat(args).concat(stackTrace)), meta()); }, debug: function debug() { var stackTrace = getStackTrace()[2]; for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } logger.debug(_util2.default.format.apply(_util2.default.format, prefix.concat(args).concat(stackTrace)), meta()); }, verbose: function verbose() { var stackTrace = getStackTrace()[2]; for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3]; } logger.verbose(_util2.default.format.apply(_util2.default.format, prefix.concat(args).concat(stackTrace)), meta()); }, info: function info() { var stackTrace = getStackTrace()[2]; for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4]; } logger.info(_util2.default.format.apply(_util2.default.format, prefix.concat(args).concat(stackTrace)), meta()); }, warn: function warn() { var stackTrace = getStackTrace()[2]; for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { args[_key5] = arguments[_key5]; } logger.warn(_util2.default.format.apply(_util2.default.format, prefix.concat(args).concat(stackTrace)), meta()); }, error: function error() { var stackTrace = getStackTrace()[2]; for (var _len6 = arguments.length, args = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) { args[_key6] = arguments[_key6]; } logger.error(_util2.default.format.apply(_util2.default.format, prefix.concat(args).concat(stackTrace)), meta()); } };