Conditional Logging
From Greasespot Wiki
Jump to navigationJump to search
Provide a single easy switch to control whether debugging information is output.
Alternative 1
const DEBUG = true;
function debug() {
if (DEBUG && console) {
console.log.apply(this, arguments);
}
}
let links = document.links;
debug("Links: %o", links);
Alternative 2
A slightly simpler method that lets you use more of the Firebug console's routines.
const DEBUG = 1;
let _orig_console = console;
let console = {
log: function (text) { if (DEBUG) _orig_console.log(text); },
info: function (text) { if (DEBUG) _orig_console.info(text); },
warn: function (text) { if (DEBUG) _orig_console.warn(text); },
error: function (text) { if (DEBUG) _orig_console.error(text); }
};
Alternative 3
An even simpler option, retaining all of Firebug's console routines, and not interfering with additional parameters.
const DEBUG = 1;
if (!DEBUG) {
let console = {
log: function() {},
info: function() {},
warn: function() {},
error: function() {},
};
}