UNPKG

@webex/webex-core

Version:

Plugin handling for Cisco Webex

65 lines (61 loc) 2.02 kB
"use strict"; 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