smartxml: Document.transaction now returns value from a callback
[fnpeditor.git] / src / fnpjs / logging / handlers.js
index 966af4e..f6f0509 100644 (file)
@@ -4,23 +4,36 @@ define(function() {
 
 
 return {
 
 
 return {
-    raven: function(msg, level, data) {
+    console: function(record) {
+        /* global console */
+        var method;
+        if(console) {
+            method = (typeof console[record.level] === 'function') ? record.level : 'log';
+            console[method](record.message);
+        }
+    },
+    raven: function(record) {
         /* global window */
         if(!window.Raven) {
             return;
         }
 
         /* global window */
         if(!window.Raven) {
             return;
         }
 
-        var ravenData = {};
+        var ravenData = {
+            level: record.level,
+            logger: record.loggerName,
+            tags: {}
+        };
 
 
-        if(data.exception) {
-            window.Raven.captureException(data.exception);
-        } else {
-            Object.keys(data || {}).forEach(function(key) {
-                ravenData[key] = data[key];
+        Object.keys(record.data || {})
+            .filter(function(key) {return key !== 'exception';})
+            .forEach(function(key) {
+                ravenData.tags[key] = record.data[key];
             });
             });
-            ravenData.tags = ravenData.tags || {};
-            ravenData.tags.level = level;
-            window.Raven.captureMessage(msg, ravenData);
+
+        if(record.data && record.data.exception) {
+            window.Raven.captureException(record.data.exception, ravenData);
+        } else {
+            window.Raven.captureMessage(record.message, ravenData);
         }
     }
 };
         }
     }
 };