// 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) {
// 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) {