fnpjs: actions - handle exception in action.getState gracefully
[fnpeditor.git] / src / fnpjs / logging / handlers.js
index cc2eab1..a85645a 100644 (file)
@@ -4,6 +4,23 @@ define(function() {
 
 
 return {
 
 
 return {
+    console: function(record) {
+        /* global console */
+        var level = record.level,
+            method, msg;
+        if(console) {
+            if(level === 'warning') {
+                level = 'warn';
+            }
+            method = (typeof console[level] === 'function') ? level : 'log';
+            if(record.data && record.data.exception && record.data.exception.stack) {
+                msg = record.data.exception.stack;
+            } else {
+                msg = record.message;
+            }
+            console[method](msg);
+        }
+    },
     raven: function(record) {
         /* global window */
         if(!window.Raven) {
     raven: function(record) {
         /* global window */
         if(!window.Raven) {
@@ -22,7 +39,7 @@ return {
                 ravenData.tags[key] = record.data[key];
             });
 
                 ravenData.tags[key] = record.data[key];
             });
 
-        if(record.data.exception) {
+        if(record.data && record.data.exception) {
             window.Raven.captureException(record.data.exception, ravenData);
         } else {
             window.Raven.captureMessage(record.message, ravenData);
             window.Raven.captureException(record.data.exception, ravenData);
         } else {
             window.Raven.captureMessage(record.message, ravenData);