Conditional Logging: Difference between revisions
From GreaseSpot Wiki
Jump to navigationJump to search
Created page with 'Provide a single easy switch to control whether debugging information is output. == Alternative 1 == <pre class='sample'> const DEBUG = true; function debug() { if (DEBUG &&…' |
→Alternative 4: removed because "if (!console)" makes no sense in a GM script, and the usage of unsafeWindow is _not_ a good example |
||
(2 intermediate revisions by one other user not shown) | |||
Line 38: | Line 38: | ||
An even simpler option, retaining all of Firebug's console routines, and not interfering with additional parameters. | An even simpler option, retaining all of Firebug's console routines, and not interfering with additional parameters. | ||
<pre class='sample | <pre class='sample'> | ||
const DEBUG = 1; | const DEBUG = 1; | ||
if (!DEBUG) { | if (!DEBUG) { |
Latest revision as of 16:39, 3 July 2010
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); } }
var 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; var _orig_console = console; var 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) { var console = { log: function() {}, info: function() {}, warn: function() {}, error: function() {}, }; }