X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/7723bc8892a423d246035a0d7449193193fc5c8a..796338e669626012da93ebea5ec7afa482a70ed7:/src/fnpjs/logging/handlers.js diff --git a/src/fnpjs/logging/handlers.js b/src/fnpjs/logging/handlers.js index c5b6990..a85645a 100644 --- a/src/fnpjs/logging/handlers.js +++ b/src/fnpjs/logging/handlers.js @@ -4,22 +4,44 @@ define(function() { 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) { return; } - var ravenData = {}; + var ravenData = { + level: record.level, + logger: record.loggerName, + tags: {} + }; - if(record.data.exception) { - window.Raven.captureException(record.data.exception); - } else { - Object.keys(record.data || {}).forEach(function(key) { - ravenData[key] = record.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 = record.level; + + if(record.data && record.data.exception) { + window.Raven.captureException(record.data.exception, ravenData); + } else { window.Raven.captureMessage(record.message, ravenData); } }