// Builds a Cobalt Log Object
buildLog : function (item, level) {
- var co = this, oldItem;
+ var co = this, oldItem, logObject = {};
if (!item._cobaltLog) {
- if (typeof item !== "object") {
- item = {message : item.toString() };
- } else {
- item.message = Cobalt.stringify(item);
- }
-
- 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.message = item;
+ logObject._cobaltLog = true;
+ logObject._from = co.from;
+ logObject._level = item._level || level || 7;
+ logObject._levelString = co._levelString(item._level);
+ logObject._version = co.version;
+ logObject._timestamp = co.now();
+ logObject._indentLevel = co.currentIndent;
+ logObject._color = co.currentColor;
+ return logObject;
}
return item;
},
log : function () {
- var i, messageArray = [], message, severity;
+ var i, message = [], severity;
for (i = 0; i < arguments.length; i++) {
- messageArray.push(this.format(arguments[i]));
+ // We're not formatting objects for now.
+
+ if (typeof arguments[i].message === 'object') {
+ message.push(arguments[i].message);
+ } else {
+ message.push(this.format(arguments[i]));
+ }
if (!severity) {
severity = arguments[i]._level
}
}
- message = messageArray.join(' ');
-
switch (severity){
case 0:
case 1:
case 2:
case 3:
- this.console.error(message);
+ this.console.error.apply(this.console, message);
break;
case 4:
- this.console.warn(message);
+ this.console.warn.apply(this.console, message);
break;
case 5:
case 6:
- this.console.info(message);
+ this.console.info.apply(this.console, message);
break;
case 7:
default:
- this.console.log(message);
+ this.console.log.apply(this.console, message);
break;
}
},
return this.formatter.format(logObject, this.formatterOpts);
}
- return logObject;
+ return logObject.message;
}
}
});