Skip to content

Instantly share code, notes, and snippets.

@fdn
Last active August 29, 2015 14:01
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save fdn/85563337ca5cd815ca6e to your computer and use it in GitHub Desktop.
Save fdn/85563337ca5cd815ca6e to your computer and use it in GitHub Desktop.
Simple fork of console.log with call location to add grouping. Grouping helps cut down on the visual noise in the log.
/**
* Console.log with call location and grouping to reduce log noise.
* Apply directly to code once.
*
* Original: http://remysharp.com/2014/05/23/where-is-that-console-log/
*/
var groupable = typeof console.groupCollapsed !== 'undefined';
['log', 'warn'].forEach(function(method) {
var old = console[method];
console[method] = function() {
var stack = (new Error()).stack.split(/\n/);
// Chrome includes a single "Error" line, FF doesn't.
if (stack[0].indexOf('Error') === 0) {
stack = stack.slice(1);
}
var args = [].slice.apply(arguments).concat([stack[1].trim()]);
if (groupable) {
console.groupCollapsed.apply(console, arguments);
var ret = old.call(console, stack[1].trim());
console.groupEnd();
return ret;
} else {
return old.apply(console, args);
}
};
@remy
Copy link

remy commented May 28, 2014

Code seems to stop short - certainly missing the closing on the forEach

@kjellski
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment