'use strict'; var util = require('util'); var utils = require('../utils'); module.exports = function(Raven, console, originals) { var wrapConsoleMethod = function(level) { if (!(level in console)) { return; } utils.fill( console, level, function(originalConsoleLevel) { var sentryLevel = level === 'warn' ? 'warning' : level; return function() { var args = [].slice.call(arguments); Raven.captureBreadcrumb({ message: util.format.apply(null, args), level: sentryLevel, category: 'console' }); originalConsoleLevel.apply(console, args); }; }, originals ); }; ['debug', 'info', 'warn', 'error', 'log'].forEach(wrapConsoleMethod); return console; };