-
Notifications
You must be signed in to change notification settings - Fork 12.3k
Commit
Remove the previous `log()` wrapper method as it changed the reported line position in logs. Instead, avoid `console` errors in browsers without `console` by setting its methods to empty functions. Ref. #1107.
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,14 @@ | ||
// usage: log('inside coolFunc', this, arguments); | ||
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/ | ||
|
||
window.log = function f() { | ||
log.history = log.history || []; | ||
log.history.push(arguments); | ||
if (this.console) { | ||
var args = arguments; | ||
var newarr; | ||
|
||
try { | ||
args.callee = f.caller; | ||
} catch(e) { | ||
|
||
} | ||
|
||
newarr = [].slice.call(args); | ||
|
||
if (typeof console.log === 'object') { | ||
log.apply.call(console.log, console, newarr); | ||
} else { | ||
console.log.apply(console, newarr); | ||
// Avoid `console` errors in browsers that lack a console | ||
if (!(window.console && console.log)) { | ||
(function() { | ||
var noop = function() {}; | ||
var methods = ['assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error', 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log', 'markTimeline', 'profile', 'profileEnd', 'markTimeline', 'table', 'time', 'timeEnd', 'timeStamp', 'trace', 'warn']; | ||
var length = methods.length; | ||
var console = window.console = {}; | ||
while (length--) { | ||
console[methods[length]] = noop; | ||
} | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
mathiasbynens
Author
Member
|
||
} | ||
}; | ||
|
||
// make it safe to use console.log always | ||
|
||
(function(a) { | ||
function b() {} | ||
var c = "assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn"; | ||
var d; | ||
for (c = c.split(","); !!(d = c.pop());) { | ||
a[d] = a[d] || b; | ||
} | ||
})(function() { | ||
try { | ||
console.log(); | ||
return window.console; | ||
} catch(a) { | ||
return (window.console = {}); | ||
} | ||
}()); | ||
}()); | ||
} | ||
|
||
// place any jQuery/helper plugins in here, instead of separate, slower script files. |
Why not just: