X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/25175ece1135d9757fb1e5782c20d12ba804a0d4..0061ce72a4ef53ac99f75a4f3aa51d5c18a27b5e:/src/fnpjs/logging/handlers.js diff --git a/src/fnpjs/logging/handlers.js b/src/fnpjs/logging/handlers.js index 966af4e..a85645a 100644 --- a/src/fnpjs/logging/handlers.js +++ b/src/fnpjs/logging/handlers.js @@ -4,23 +4,45 @@ define(function() { return { - raven: function(msg, level, data) { + 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) { 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); } } };