'use strict';

di('log', function(injector) {
  var
    noop = function() {},
    log = {},
    logDebug = getConsoleWriteDelegate('debug');

  ['log', 'info', 'warn', 'error'].forEach(function(type) {
    log[type] = getConsoleWriteDelegate(type);
  });

  log.debug = function() {
    if (!log.debugEnabled) {
      return noop;
    }
    return logDebug.apply(null, Array.prototype.slice.call(arguments));
  };

  return log;

  function getConsoleWriteDelegate(type) {
    return function() {
      var
        console = window.console;

      if (console) {
        console[type].apply(console, Array.prototype.slice.call(arguments));
      }
    }
  }



});


@@ -53,91 +53,16 @@
     
-noop = function() %7B%7D,%0A    log = %7B%7D,%0A    logDebug = getConsoleWriteDelegate('debug')
+log = %7B%7D
 ;%0A%0A 
@@ -178,167 +178,8 @@
 );%0A%0A
-  log.debug = function() %7B%0A    if (!log.debugEnabled) %7B%0A      return noop;%0A    %7D%0A    return logDebug.apply(null, Array.prototype.slice.call(arguments));%0A  %7D;%0A%0A
   re
@@ -298,16 +298,70 @@
 .console
+,%0A        args = Array.prototype.slice.call(arguments)
 ;%0A%0A     
@@ -372,16 +372,28 @@
 (console
+%5Btype%5D.apply
 ) %7B%0A    
@@ -429,47 +429,227 @@
 le, 
-Array.prototype.slice.call(arguments));
+args);%0A      %7D%0A      else %7B%0A        switch(args.length) %7B%0A          case 0: console%5Btype%5D(); break;%0A          default:%0A            args.forEach(function(arg) %7B%0A              console%5Btype%5D(arg);%0A            %7D);%0A        %7D
 %0A   

Fix logger in jquery version for IE9