def log(level, *args)
      return 'disabled' unless enabled?

      message, exception, extra, context = extract_arguments(args)
      use_exception_level_filters = use_exception_level_filters?(extra)

      return 'ignored' if ignored?(exception, use_exception_level_filters)

      begin
        status = call_before_process(:level => level,
                                     :exception => exception,
                                     :message => message,
                                     :extra => extra)
        return 'ignored' if status == 'ignored'
      rescue Rollbar::Ignore
        return 'ignored'
      end

      level = lookup_exception_level(level, exception,
                                     use_exception_level_filters)

      begin
        report(level, message, exception, extra, context)
      rescue StandardError, SystemStackError => e
        report_internal_error(e)

        'error'
      end
    end
def log(level, *args)
      return 'disabled' unless enabled?

      message, exception, extra, context = extract_arguments(args)
      use_exception_level_filters = use_exception_level_filters?(extra)

      return 'ignored' if ignored?(exception, use_exception_level_filters)

      begin
        status = call_before_process(:level => level,
                                     :exception => exception,
                                     :message => message,
                                     :extra => extra)
        return 'ignored' if status == 'ignored'
      rescue Rollbar::Ignore
        return 'ignored'
      end

      level = lookup_exception_level(level, exception,
                                     use_exception_level_filters)

      begin
        report(level, message, exception, extra, context)
      rescue StandardError, SystemStackError => e
        report_internal_error(e)

        'error'
      end
    end
Sends a report to Rollbar.

 Accepts any number of arguments. The last String argument will become
 the message or description of the report. The last Exception argument
 will become the associated exception for the report. The last hash
 argument will be used as the extra data for the report.

 If the extra hash contains a symbol key :custom_data_method_context
 the value of the key will be used as the context for
 configuration.custom_data_method and will be removed from the extra
 hash.

 @example
   begin
     foo = bar
   rescue => e
     Rollbar.log(e)
   end

 @example
   Rollbar.log('This is a simple log message')

 @example
   Rollbar.log(e, 'This is a description of the exception')