X-Git-Url: https://git.r.bdr.sh/rbdr/cologne/blobdiff_plain/bdedb5e54032363de8afa322fadae0e2cb2132d0..db6bc3cb0117030b2d31d55850d91f58248a8e81:/lib/loggers/console.js diff --git a/lib/loggers/console.js b/lib/loggers/console.js index 3dc4b1d..c4031eb 100644 --- a/lib/loggers/console.js +++ b/lib/loggers/console.js @@ -1,76 +1,70 @@ -(function (global) { - var Module, Class; +Class(Cobalt.Logger, 'JsConsole')({ + prototype : { + console : null, + formatterOpts : {}, - // Load up dependencies - if (typeof require === 'function') { - var Ne = require('neon'); - Module = Ne.Module; - Class = Ne.Class; - } else { - Module = global.Module; - Class = global.Class; - } - - var Cobalt = {}; - Module(Cobalt, 'Logger')({}); - - Cobalt.Logger.JsConsole = Class(Cobalt.Logger, 'JsConsole')({ - prototype : { - console : console, - formatterOpts : {}, - - init : function (config) { - var logger = this, - property; + init : function (config) { + var logger = this, + property; - if (config) { - for (property in config) { - logger[property] = config[property]; - } + if (config) { + for (property in config) { + logger[property] = config[property]; } - }, + } - log : function (logObject) { - var message; + if (!logger.console) { + logger.console = console; + } + }, - message = this.format(logObject); + log : function () { + var i, message = [], severity; - switch (logObject._level){ - case 0: - case 1: - case 2: - case 3: - this.console.error(message); - break; - case 4: - this.console.warn(message); - break; - case 5: - case 6: - this.console.info(message); - break; - case 7: - default: - this.console.log(message); - break; - } - }, + for (i = 0; i < arguments.length; i++) { + // We're not formatting objects for now. - format : function (logObject) { - // Usually what you want to do here is format. Preferably using - // someone inside Cobalt.Formatter - if (this.formatter) { - return this.formatter.format(logObject, this.formatterOpts); + if (!arguments[i].__skipConsole && !arguments[i].message.__skipConsole) { + if (typeof arguments[i].message === 'object') { + message.push(arguments[i].message); + } else { + message.push(this.format(arguments[i])); + } + if (!severity) { + severity = arguments[i]._level + } } + } - return logObject; + switch (severity){ + case 0: + case 1: + case 2: + case 3: + this.console.error.apply(this.console, message); + break; + case 4: + this.console.warn.apply(this.console, message); + break; + case 5: + case 6: + this.console.info.apply(this.console, message); + break; + case 7: + default: + this.console.log.apply(this.console, message); + break; } - } - }); + }, - if (typeof require === 'function') { - global.JsConsole = Cobalt.Logger.JsConsole; - } else { - global.Cobalt.Logger.JsConsole = Cobalt.Logger.JsConsole; + format : function (logObject) { + // Usually what you want to do here is format. Preferably using + // someone inside Cobalt.Formatter + if (this.formatter) { + return this.formatter.format(logObject, this.formatterOpts); + } + + return logObject.message; + } } -}(typeof window !== 'undefined' ? window : (typeof exports !== 'undefined' ? exports : self))); +});