Sha256: 0996cb9447c4aa766a9830efb09c12c6b3b8334d1e70c3df3cd5045870540d1e

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

module Rollbar
  module ExceptionReporter
    include RequestDataExtractor

    def report_exception_to_rollbar(env, exception)
      rollbar_debug "[Rollbar] Reporting exception: #{exception.message}", :error
      request_data = extract_request_data_from_rack(env)
      person_data = extract_person_data_from_controller(env)
      exception_data = Rollbar.report_exception(exception, request_data, person_data)
      
      if exception_data.is_a?(Hash)
        env['rollbar.exception_uuid'] = exception_data[:uuid]
        rollbar_debug "[Rollbar] Exception uuid saved in env: #{exception_data[:uuid]}"
      elsif exception_data == 'disabled'
        rollbar_debug "[Rollbar] Exception not reported because Rollbar is disabled"
      elsif exception_data == 'ignored'
        rollbar_debug "[Rollbar] Exception not reported because it was ignored"
      end
    rescue => e
      rollbar_debug "[Rollbar] Exception while reporting exception to Rollbar: #{e.message}"
    end

    def rollbar_debug(message, level = :debug)
      if defined?(Rails)
        ::Rails.logger.send(level, message)
      else
        puts message
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rollbar-0.12.16 lib/rollbar/exception_reporter.rb