]> git.r.bdr.sh - rbdr/cologne/blobdiff - lib/loggers/console.js
Pass the objects directly to the console.
[rbdr/cologne] / lib / loggers / console.js
index 50025022a97f8b087c34ddca80e02b7534c6d301..e8f4d86f4cac8c45c7709b87dba3b81aef50eed8 100644 (file)
             logger[property] = config[property];
           }
         }
+
+        if (!logger.console) {
+          logger.console = console;
+        }
       },
 
       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;
         }
       },
@@ -70,7 +78,7 @@
           return this.formatter.format(logObject, this.formatterOpts);
         }
 
-        return logObject;
+        return logObject.message;
       }
     }
   });