]> git.r.bdr.sh - rbdr/cologne/blobdiff - lib/cobalt.js
Normalizes buildLog and adds extendLog
[rbdr/cologne] / lib / cobalt.js
index d2d2c13c7fd37b79dc2e4fe4f6299b24f962c779..f3effcdcd76b4953b19e6247a85bdd702f20be83 100644 (file)
       buildLog : function (item, level) {
         var co = this, oldItem, logObject = {};
 
-        if (!item._cobaltLog) {
+        if (typeof item === "undefined" || item === null || !item._cobaltLog) {
           logObject.message = item;
           logObject._cobaltLog = true;
           logObject._from = co.from;
-          logObject._level = item._level || level || 7;
-          logObject._levelString = co._levelString(item._level);
+          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;
         }
 
         return item;
       },
 
+      extendLog : function (extendingObject) {
+        var co = this, logObject,
+            property;
+
+        logObject = co.buildLog(undefined, 6);
+        extendingObject = extendingObject || {};
+
+        for (property in extendingObject) {
+          if (extendingObject.hasOwnProperty(property)) {
+            logObject[property] = extendingObject[property];
+          }
+        }
+
+        return logObject;
+      },
+
       buildSeparator : function (type) {
         var co = this;
         return {