From 325a6ceb9004c47329e5767713b48b380c1626c8 Mon Sep 17 00:00:00 2001 From: Nikolay Vasilchuk Date: Sun, 17 Mar 2013 15:04:43 +0400 Subject: [PATCH 1/2] Added logLevel method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Usage: console.logLevel('debug'); Available levels: all - all messages will be shown debug - same as "all" excluding console.log and console.info log - same as "all" excluding console.debug and console.count info - same as "log" excluding console.log warn - same as "info" excluding console.info error - same as "warn" excluding console.warn --- console.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/console.js b/console.js index e74cedc..36543a8 100644 --- a/console.js +++ b/console.js @@ -15,6 +15,14 @@ var i, methods = 'assert count debug dir dirxml error group groupCollapsed groupEnd info log markTimeline profile profileEnd table time timeEnd trace warn'.split(' '), emptyFn = function(){}, empty = {}, + logLevels = { + all: {}, + debug: {log: emptyFn, info: emptyFn}, + log: {debug: emptyFn, count: emptyFn}, + info: {debug: emptyFn, count: emptyFn, log: emptyFn}, + warn: {debug: emptyFn, count: emptyFn, log: emptyFn, info: emptyFn}, + error: {debug: emptyFn, count: emptyFn, log: emptyFn, info: emptyFn, warn: emptyFn} + }, timeCounters; for (i = methods.length; i--;) empty[methods[i]] = emptyFn; @@ -50,6 +58,17 @@ if (console) { console[methods[i]] = methods[i] in console ? bind(console, console[methods[i]]) : emptyFn; } + console.logLevel = function(level) { + if (typeof logLevels[level] === 'undefined') { + level = 'all'; + } + for (i = methods.length; i--;) { + var methodToBind = (typeof logLevels[level][methods[i]] === 'undefined') ? + console[methods[i]] : logLevels[level][methods[i]]; + console[methods[i]] = methods[i] in console ? + bind(console, methodToBind) : emptyFn; + } + }; console.disable = function () { global.console = empty; }; empty.enable = function () { global.console = console; }; From ec506de4d208ba56d051ed3a9df391aa7e9ea3c7 Mon Sep 17 00:00:00 2001 From: Nikolay Vasilchuk Date: Wed, 31 Jul 2013 19:09:47 +0400 Subject: [PATCH 2/2] logLevel fix for IE --- console.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/console.js b/console.js index 36543a8..1a30524 100644 --- a/console.js +++ b/console.js @@ -76,7 +76,7 @@ if (console) { } else { console = global.console = empty; - console.disable = console.enable = emptyFn; + console.disable = console.enable = console.logLevel = emptyFn; } })( typeof console === 'undefined' ? null : console );