logging: Raven handler
authorAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Mon, 30 Dec 2013 12:16:05 +0000 (13:16 +0100)
committerAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Mon, 30 Dec 2013 12:16:05 +0000 (13:16 +0100)
This handler assumes that ravenjs is already installed in a global
scope.

src/fnpjs/logging/handlers.js

index c15d17f..966af4e 100644 (file)
@@ -3,6 +3,26 @@ define(function() {
 'use strict';
 
 
-return {};
+return {
+    raven: function(msg, level, data) {
+        /* global window */
+        if(!window.Raven) {
+            return;
+        }
+
+        var ravenData = {};
+
+        if(data.exception) {
+            window.Raven.captureException(data.exception);
+        } else {
+            Object.keys(data || {}).forEach(function(key) {
+                ravenData[key] = data[key];
+            });
+            ravenData.tags = ravenData.tags || {};
+            ravenData.tags.level = level;
+            window.Raven.captureMessage(msg, ravenData);
+        }
+    }
+};
 
 });
\ No newline at end of file