From 4415f1c862f3f896d1f0a860d45175c2fff593fe Mon Sep 17 00:00:00 2001 From: Esteban Ordano Date: Mon, 1 Sep 2014 17:43:02 -0300 Subject: [PATCH] Clearer iteration through keys - We needed to closure the variable `levels` and this is cleaner --- js/log.js | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/js/log.js b/js/log.js index 78696f85e..8a83b9a2e 100644 --- a/js/log.js +++ b/js/log.js @@ -14,26 +14,24 @@ var levels = { 'fatal': 5 }; -for (_level in levels) { - (function(level) { - Logger.prototype[level] = function() { - if (levels[level] >= levels[this.level]) { - var str = '[' + level + '] ' + this.name + ': ' + arguments[0], - extraArgs, - extraArgs = [].slice.call(arguments, 1); - if (console[level]) { - extraArgs.unshift(str); - console[level].apply(console, extraArgs); - } else { - if (extraArgs.length) { - str += JSON.stringify(extraArgs); - } - console.log(str); +Object.keys(levels).forEach(function(level) { + Logger.prototype[level] = function() { + if (levels[level] >= levels[this.level]) { + var str = '[' + level + '] ' + this.name + ': ' + arguments[0], + extraArgs, + extraArgs = [].slice.call(arguments, 1); + if (console[level]) { + extraArgs.unshift(str); + console[level].apply(console, extraArgs); + } else { + if (extraArgs.length) { + str += JSON.stringify(extraArgs); } + console.log(str); } - }; - })(_level); -} + } + }; +}); Logger.prototype.setLevel = function(level) { this.level = level;