X-Git-Url: https://git.r.bdr.sh/rbdr/cologne/blobdiff_plain/03501041337c5234dc12e4a84ddf063142a7857e..b69497efe78c60742e0bb7ab5fed2b94ce89682e:/lib/loggers/console.js diff --git a/lib/loggers/console.js b/lib/loggers/console.js new file mode 100644 index 0000000..3dc4b1d --- /dev/null +++ b/lib/loggers/console.js @@ -0,0 +1,76 @@ +(function (global) { + var Module, Class; + + // 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; + + if (config) { + for (property in config) { + logger[property] = config[property]; + } + } + }, + + log : function (logObject) { + var message; + + message = this.format(logObject); + + 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; + } + }, + + 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; + } + } + }); + + if (typeof require === 'function') { + global.JsConsole = Cobalt.Logger.JsConsole; + } else { + global.Cobalt.Logger.JsConsole = Cobalt.Logger.JsConsole; + } +}(typeof window !== 'undefined' ? window : (typeof exports !== 'undefined' ? exports : self)));