logging: Raven handler fixes
authorAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Mon, 30 Dec 2013 12:57:56 +0000 (13:57 +0100)
committerAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Mon, 30 Dec 2013 12:57:56 +0000 (13:57 +0100)
- pass logger name
- pass level not as a tag (this overwrites default "level" tag value in
Sentry UI instead of setting its second value)
- allow for passing additional data when logging exception

src/fnpjs/logging/handlers.js

index c5b6990..cc2eab1 100644 (file)
@@ -10,16 +10,21 @@ return {
             return;
         }
 
-        var ravenData = {};
+        var ravenData = {
+            level: record.level,
+            logger: record.loggerName,
+            tags: {}
+        };
+
+        Object.keys(record.data || {})
+            .filter(function(key) {return key !== 'exception';})
+            .forEach(function(key) {
+                ravenData.tags[key] = record.data[key];
+            });
 
         if(record.data.exception) {
-            window.Raven.captureException(record.data.exception);
+            window.Raven.captureException(record.data.exception, ravenData);
         } else {
-            Object.keys(record.data || {}).forEach(function(key) {
-                ravenData[key] = record.data[key];
-            });
-            ravenData.tags = ravenData.tags || {};
-            ravenData.tags.level = record.level;
             window.Raven.captureMessage(record.message, ravenData);
         }
     }