webappengine
Version:
A web application server that can host multiple web apps running with Node.js.
112 lines (87 loc) • 3.61 kB
JavaScript
;
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());
}
};