X-Git-Url: https://git.r.bdr.sh/rbdr/cologne/blobdiff_plain/963cb46b688216154f1299c233832258be5f5bbd..26b061b8b81f39ad11fbd9c6c761ec3e699dbad2:/lib/cobalt.js diff --git a/lib/cobalt.js b/lib/cobalt.js index 58a305c..fa4f623 100644 --- a/lib/cobalt.js +++ b/lib/cobalt.js @@ -91,26 +91,39 @@ // Builds a Cobalt Log Object buildLog : function (item, level) { - var co = this, oldItem; + var co = this, oldItem, logObject = {}; + + if (typeof item === "undefined" || item === null || !item._cobaltLog) { + logObject.message = item; + logObject._cobaltLog = true; + logObject._from = co.from; + logObject._level = level || 6; + logObject._levelString = co._levelString(logObject._level); + logObject._version = co.version; + logObject._timestamp = co.now(); + logObject._indentLevel = co.currentIndent; + logObject._color = co.currentColor; + logObject._separator = false; + return logObject; + } - if (!item._cobaltLog) { - if (typeof item !== "object") { - item = {message : item.toString() }; - } else { - item.message = Cobalt.stringify(item); - } + return item; + }, + + extendLog : function (extendingObject) { + var co = this, logObject, + property; - item._cobaltLog = true; - item._from = co.from; - item._level = item._level || level || 7; - item._levelString = co._levelString(item._level); - item._version = co.version; - item._timestamp = co.now(); - item._indentLevel = co.currentIndent; - item._color = co.currentColor; + logObject = co.buildLog(undefined, 6); + extendingObject = extendingObject || {}; + + for (property in extendingObject) { + if (extendingObject.hasOwnProperty(property)) { + logObject[property] = extendingObject[property]; + } } - return item; + return logObject; }, buildSeparator : function (type) { @@ -146,23 +159,42 @@ }, log : function () { - this._log.apply(this, [7].concat([].splice.call(arguments, 0))); + this._log.apply(this, [6].concat(Array.prototype.slice.call(arguments))); + }, + + debug : function () { + this._log.apply(this, [7].concat(Array.prototype.slice.call(arguments))); }, info : function () { - this._log.apply(this, [6].concat([].splice.call(arguments, 0))); + this._log.apply(this, [6].concat(Array.prototype.slice.call(arguments))); }, notice : function () { - this._log.apply(this, [5].concat([].splice.call(arguments, 0))); + this._log.apply(this, [5].concat(Array.prototype.slice.call(arguments))); }, warn : function () { - this._log.apply(this, [4].concat([].splice.call(arguments, 0))); + this._log.apply(this, [4].concat(Array.prototype.slice.call(arguments))); }, error : function () { - this._log.apply(this, [3].concat([].splice.call(arguments, 0))); + this._log.apply(this, [3].concat(Array.prototype.slice.call(arguments))); + }, + + dir : function () { + }, + + time : function () { + }, + + timeEnd : function () { + }, + + groupCollapsed : function () { + }, + + groupEnd : function () { }, separator : function (type) { @@ -239,7 +271,15 @@ // Returns the current time in microseconds. now : function () { - this.constructor.now(); + if (typeof performance !== 'undefined' && performance.timing) { + return performance.timing.navigationStart + performance.now(); + } + + if (typeof Microtime !== 'undefined') { + return Microtime.nowDouble() * 1000; + } + + return Date.now(); }, _levelString : function (level) {