var logger = function()

in workbox-v4.3.1/workbox-window.dev.umd.js [115:183]


  var logger = function () {
    var inGroup = false;
    var methodToColorMap = {
      debug: "#7f8c8d",
      // Gray
      log: "#2ecc71",
      // Green
      warn: "#f39c12",
      // Yellow
      error: "#c0392b",
      // Red
      groupCollapsed: "#3498db",
      // Blue
      groupEnd: null // No colored prefix on groupEnd

    };

    var print = function print(method, args) {
      var _console2;

      if (method === 'groupCollapsed') {
        // Safari doesn't print all console.groupCollapsed() arguments:
        // https://bugs.webkit.org/show_bug.cgi?id=182754
        if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {
          var _console;

          (_console = console)[method].apply(_console, args);

          return;
        }
      }

      var styles = ["background: " + methodToColorMap[method], "border-radius: 0.5em", "color: white", "font-weight: bold", "padding: 2px 0.5em"]; // When in a group, the workbox prefix is not displayed.

      var logPrefix = inGroup ? [] : ['%cworkbox', styles.join(';')];

      (_console2 = console)[method].apply(_console2, logPrefix.concat(args));

      if (method === 'groupCollapsed') {
        inGroup = true;
      }

      if (method === 'groupEnd') {
        inGroup = false;
      }
    };

    var api = {};

    var _arr = Object.keys(methodToColorMap);

    var _loop = function _loop() {
      var method = _arr[_i];

      api[method] = function () {
        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }

        print(method, args);
      };
    };

    for (var _i = 0; _i < _arr.length; _i++) {
      _loop();
    }

    return api;
  }();