83 lines
2.3 KiB
JavaScript
83 lines
2.3 KiB
JavaScript
'use strict';
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
|
|
function noop() {}
|
|
|
|
var fakeLogger = {
|
|
trace: noop,
|
|
debug: noop,
|
|
log: noop,
|
|
warn: noop,
|
|
info: noop,
|
|
error: noop
|
|
};
|
|
|
|
var exportedLogger = fakeLogger;
|
|
|
|
/*globals self: false */
|
|
|
|
//let lastCallTime;
|
|
// function formatMsgWithTimeInfo(type, msg) {
|
|
// const now = Date.now();
|
|
// const diff = lastCallTime ? '+' + (now - lastCallTime) : '0';
|
|
// lastCallTime = now;
|
|
// msg = (new Date(now)).toISOString() + ' | [' + type + '] > ' + msg + ' ( ' + diff + ' ms )';
|
|
// return msg;
|
|
// }
|
|
|
|
function formatMsg(type, msg) {
|
|
msg = '[' + type + '] > ' + msg;
|
|
return msg;
|
|
}
|
|
|
|
function consolePrintFn(type) {
|
|
var func = self.console[type];
|
|
if (func) {
|
|
return function () {
|
|
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
if (args[0]) {
|
|
args[0] = formatMsg(type, args[0]);
|
|
}
|
|
func.apply(self.console, args);
|
|
};
|
|
}
|
|
return noop;
|
|
}
|
|
|
|
function exportLoggerFunctions(debugConfig) {
|
|
for (var _len2 = arguments.length, functions = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
functions[_key2 - 1] = arguments[_key2];
|
|
}
|
|
|
|
functions.forEach(function (type) {
|
|
exportedLogger[type] = debugConfig[type] ? debugConfig[type].bind(debugConfig) : consolePrintFn(type);
|
|
});
|
|
}
|
|
|
|
var enableLogs = exports.enableLogs = function enableLogs(debugConfig) {
|
|
if (debugConfig === true || (typeof debugConfig === 'undefined' ? 'undefined' : _typeof(debugConfig)) === 'object') {
|
|
exportLoggerFunctions(debugConfig,
|
|
// Remove out from list here to hard-disable a log-level
|
|
//'trace',
|
|
'debug', 'log', 'info', 'warn', 'error');
|
|
// Some browsers don't allow to use bind on console object anyway
|
|
// fallback to default if needed
|
|
try {
|
|
exportedLogger.log();
|
|
} catch (e) {
|
|
exportedLogger = fakeLogger;
|
|
}
|
|
} else {
|
|
exportedLogger = fakeLogger;
|
|
}
|
|
};
|
|
|
|
var logger = exports.logger = exportedLogger; |