@webex/webex-core
Version:
Plugin handling for Cisco Webex
65 lines (61 loc) • 2.02 kB
JavaScript
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _webexPlugin = _interopRequireDefault(require("../lib/webex-plugin"));
var _webexCore = require("../webex-core");
/*!
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
*/
var precedence = {
error: ['log'],
warn: ['error', 'log'],
info: ['log'],
debug: ['info', 'log'],
trace: ['debug', 'info', 'log']
};
/**
* Assigns the specified console method to Logger; uses `precedence` to fallback
* to other console methods if the current environment doesn't provide the
* specified level.
* @param {string} level
* @returns {Function}
*/
function wrapConsoleMethod(level) {
/* eslint no-console: [0] */
var impls = precedence[level];
if (impls) {
impls = impls.slice();
while (!console[level]) {
level = impls.pop();
}
}
return function wrappedConsoleMethod() {
var _console;
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
/* eslint no-invalid-this: [0] */
/* istanbul ignore if */
if (process.env.NODE_ENV === 'test' && this.webex && this.webex.internal.device && this.webex.internal.device.url) {
args.unshift(this.webex.internal.device.url.slice(-3));
}
(_console = console)[level].apply(_console, args);
};
}
var Logger = _webexPlugin.default.extend({
namespace: 'Logger',
error: wrapConsoleMethod('error'),
warn: wrapConsoleMethod('warn'),
log: wrapConsoleMethod('log'),
info: wrapConsoleMethod('info'),
debug: wrapConsoleMethod('debug'),
trace: wrapConsoleMethod('trace'),
version: "3.9.0"
});
(0, _webexCore.registerPlugin)('logger', Logger);
var _default = exports.default = Logger;
//# sourceMappingURL=logger.js.map
;