Skip to content

Instantly share code, notes, and snippets.

@lyoshenka
Forked from tauren/gist:1045906
Created March 19, 2012 23:19
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lyoshenka/2128358 to your computer and use it in GitHub Desktop.
Save lyoshenka/2128358 to your computer and use it in GitHub Desktop.
Make it safe to use console.log always. How to convert to coffeescript?
window.log = ->
log.history = log.history or []
log.history.push arguments
if @console
arguments.callee = arguments.callee.caller
console.log Array::slice.call(arguments)
((b) ->
c = ->
d = "assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(",")
while a = d.pop()
b[a] = b[a] or c
) window.console = window.console or {}
// usage: log('inside coolFunc', this, arguments);
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
window.log = function(){
log.history = log.history || []; // store logs to an array for reference
log.history.push(arguments);
if(this.console) {
arguments.callee = arguments.callee.caller;
console.log( Array.prototype.slice.call(arguments) );
}
};
// make it safe to use console.log always
(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();)b[a]=b[a]||c})(window.console=window.console||{});
(function (console) {
var functions = "assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),
currentFunction,
doNothing = function () {};
while ( !! (currentFunction = functions.pop())) {
console[currentFunction] = console[currentFunction] || doNothing;
}
})
(function () {
try {
console.log();
return window.console;
} catch (a) {
return (window.console = {});
}
}());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment