class Rollbar::Configuration
Constants
- DEFAULT_ENDPOINT
- DEFAULT_WEB_BASE
- SEND_EXTRA_FRAME_DATA_OPTIONS
Attributes
access_token[RW]
anonymize_user_ip[RW]
async_handler[RW]
async_json_payload[RW]
async_skip_report_handler[RW]
backtrace_cleaner[RW]
before_process[R]
branch[RW]
capture_uncaught[RW]
code_version[RW]
collect_user_ip[RW]
configured_options[RW]
custom_data_method[RW]
default_logger[RW]
delayed_job_enabled[RW]
disable_core_monkey_patch[RW]
disable_monkey_patch[RW]
disable_rack_monkey_patch[RW]
dj_threshold[RW]
enable_error_context[RW]
enabled[RW]
endpoint[RW]
environment[RW]
exception_level_filters[RW]
failover_handlers[RW]
filepath[RW]
files_processed_duration[RW]
files_processed_enabled[RW]
files_processed_size[RW]
files_with_pid_name_enabled[RW]
framework[RW]
host[RW]
ignore_internal_errors[RW]
ignored_person_ids[RW]
js_enabled[RW]
js_options[RW]
locals[RW]
log_payload[RW]
logger[W]
logger_level[R]
net_retries[RW]
open_timeout[RW]
payload_options[RW]
person_email_method[RW]
person_id_method[RW]
person_method[RW]
person_username_method[RW]
populate_empty_backtraces[RW]
project_gem_paths[R]
proxy[RW]
raise_on_error[RW]
randomize_scrub_length[RW]
report_dj_data[RW]
request_timeout[RW]
root[RW]
safely[RW]
safely?[RW]
scrub_fields[RW]
scrub_headers[RW]
scrub_password[RW]
scrub_user[RW]
scrub_whitelist[RW]
send_extra_frame_data[R]
sidekiq_threshold[RW]
sidekiq_use_scoped_block[RW]
transform[R]
transmit[RW]
uncaught_exception_level[RW]
use_async[RW]
use_eventmachine[R]
use_exception_level_filters_default[RW]
use_payload_access_token[RW]
user_ip_obfuscator_secret[RW]
user_ip_rack_env_key[RW]
verify_ssl_peer[RW]
web_base[RW]
write_to_file[RW]
Public Class Methods
new()
click to toggle source
# File lib/rollbar/configuration.rb, line 89 def initialize @access_token = nil @async_handler = nil @before_process = [] @branch = nil @capture_uncaught = nil @code_version = nil @custom_data_method = nil @default_logger = lambda { ::Logger.new($stderr) } @logger_level = :info @delayed_job_enabled = true @disable_monkey_patch = false @disable_core_monkey_patch = false @disable_rack_monkey_patch = false @enable_error_context = true @dj_threshold = 0 @async_skip_report_handler = nil @enabled = nil # set to true when configure is called @endpoint = DEFAULT_ENDPOINT @environment = nil @exception_level_filters = { 'ActiveRecord::RecordNotFound' => 'warning', 'AbstractController::ActionNotFound' => 'warning', 'ActionController::RoutingError' => 'warning' } @failover_handlers = [] @framework = 'Plain' @ignore_internal_errors = [ 'Net::ReadTimeout', 'Net::OpenTimeout', 'SocketError' ] @ignored_person_ids = [] @host = nil @payload_options = {} @person_method = 'current_user' @person_id_method = 'id' @person_username_method = nil @person_email_method = nil @project_gems = [] @populate_empty_backtraces = false @report_dj_data = true @open_timeout = 3 @request_timeout = 3 @net_retries = 3 @root = nil @js_enabled = false @js_options = {} @locals = {} @scrub_fields = [:passwd, :password, :password_confirmation, :secret, :confirm_password, :password_confirmation, :secret_token, :api_key, :access_token, :accessToken, :session_id] @scrub_user = true @scrub_password = true @randomize_scrub_length = false @scrub_whitelist = [] @uncaught_exception_level = 'error' @scrub_headers = ['Authorization'] @sidekiq_threshold = 0 @sidekiq_use_scoped_block = false @safely = false @transform = [] @use_async = false @async_json_payload = false @use_eventmachine = false @verify_ssl_peer = true @web_base = DEFAULT_WEB_BASE @send_extra_frame_data = :none @project_gem_paths = [] @use_exception_level_filters_default = false @proxy = nil @raise_on_error = false @transmit = true @log_payload = false @collect_user_ip = true @anonymize_user_ip = false @user_ip_obfuscator_secret = nil @user_ip_rack_env_key = nil @backtrace_cleaner = nil @hooks = { :on_error_response => nil, # params: response :on_report_internal_error => nil # params: exception } @write_to_file = false @filepath = nil @files_with_pid_name_enabled = false @files_processed_enabled = false @files_processed_duration = 60 @files_processed_size = 5 * 1000 * 1000 @use_payload_access_token = false @configured_options = ConfiguredOptions.new(self) end
Public Instance Methods
[](option)
click to toggle source
allow params to be read like a hash
# File lib/rollbar/configuration.rb, line 337 def [](option) send(option) end
before_process=(*handler)
click to toggle source
# File lib/rollbar/configuration.rb, line 316 def before_process=(*handler) @before_process = Array(handler) end
execute_hook(symbol, *args)
click to toggle source
# File lib/rollbar/configuration.rb, line 365 def execute_hook(symbol, *args) hook(symbol).call(*args) if hook(symbol).is_a?(Proc) end
hook(symbol, &block)
click to toggle source
# File lib/rollbar/configuration.rb, line 353 def hook(symbol, &block) unless @hooks.key?(symbol) raise StandardError, "Hook :#{symbol} is not supported by Rollbar SDK." end if block_given? @hooks[symbol] = block else @hooks[symbol] end end
initialize_copy(orig)
click to toggle source
Calls superclass method
# File lib/rollbar/configuration.rb, line 184 def initialize_copy(orig) super instance_variables.each do |var| instance_var = instance_variable_get(var) instance_variable_set(var, Rollbar::Util.deep_copy(instance_var)) end end
logger()
click to toggle source
# File lib/rollbar/configuration.rb, line 349 def logger @logger ||= default_logger.call end
logger_level=(level)
click to toggle source
# File lib/rollbar/configuration.rb, line 341 def logger_level=(level) @logger_level = if level level.to_sym else level end end
merge(options)
click to toggle source
# File lib/rollbar/configuration.rb, line 202 def merge(options) new_configuration = clone new_configuration.merge!(options) new_configuration end
merge!(options)
click to toggle source
# File lib/rollbar/configuration.rb, line 209 def merge!(options) options.each do |name, value| variable_name = "@#{name}" next unless instance_variable_defined?(variable_name) instance_variable_set(variable_name, value) end self end
project_gems=(gems)
click to toggle source
# File lib/rollbar/configuration.rb, line 305 def project_gems=(gems) @project_gem_paths = gems.map do |name| found = Gem::Specification.each.select { |spec| name === spec.name } puts "[Rollbar] No gems found matching #{name.inspect}" if found.empty? found end @project_gem_paths.flatten! @project_gem_paths.uniq! @project_gem_paths.map!(&:gem_dir) end
send_extra_frame_data=(value)
click to toggle source
# File lib/rollbar/configuration.rb, line 324 def send_extra_frame_data=(value) unless SEND_EXTRA_FRAME_DATA_OPTIONS.include?(value) logger.warning( "Wrong 'send_extra_frame_data' value, :none, :app or :full is expected" ) return end @send_extra_frame_data = value end
transform=(*handler)
click to toggle source
# File lib/rollbar/configuration.rb, line 320 def transform=(*handler) @transform = Array(handler) end
use_active_job(options = {})
click to toggle source
# File lib/rollbar/configuration.rb, line 220 def use_active_job(options = {}) require 'rollbar/delay/active_job' Rollbar::Delay::ActiveJob.queue_as(options[:queue] || Rollbar::Delay::ActiveJob.default_queue_name) @use_async = true @async_handler = Rollbar::Delay::ActiveJob end
use_delayed_job(options = {})
click to toggle source
# File lib/rollbar/configuration.rb, line 230 def use_delayed_job(options = {}) require 'rollbar/delay/delayed_job' Rollbar::Delay::DelayedJob.queue = options[:queue] if options[:queue] @use_async = true @async_handler = Rollbar::Delay::DelayedJob end
use_eventmachine=(value)
click to toggle source
# File lib/rollbar/configuration.rb, line 300 def use_eventmachine=(value) require 'em-http-request' if value @use_eventmachine = value end
use_resque(options = {})
click to toggle source
# File lib/rollbar/configuration.rb, line 245 def use_resque(options = {}) require 'rollbar/delay/resque' if defined?(Resque) Rollbar::Delay::Resque::Job.queue = options[:queue] if options[:queue] @use_async = true @async_handler = Rollbar::Delay::Resque end
use_shoryuken(options = {})
click to toggle source
# File lib/rollbar/configuration.rb, line 254 def use_shoryuken(options = {}) require 'rollbar/delay/shoryuken' if defined?(Shoryuken) Rollbar::Delay::Shoryuken.queue = options[:queue] if options[:queue] @use_async = true @async_handler = Rollbar::Delay::Shoryuken end
use_sidekiq(options = {})
click to toggle source
# File lib/rollbar/configuration.rb, line 239 def use_sidekiq(options = {}) require 'rollbar/delay/sidekiq' if defined?(Sidekiq) @use_async = true @async_handler = Rollbar::Delay::Sidekiq.new(options) end
use_sidekiq=(value)
click to toggle source
# File lib/rollbar/configuration.rb, line 263 def use_sidekiq=(value) deprecation_message = '#use_sidekiq=(value) has been deprecated in favor ' \ 'of #use_sidekiq(options = {}). Please update your rollbar configuration.' if defined?(ActiveSupport) ActiveSupport::Deprecation.warn(deprecation_message) else puts(deprecation_message) end value.is_a?(Hash) ? use_sidekiq(value) : use_sidekiq end
use_sucker_punch()
click to toggle source
# File lib/rollbar/configuration.rb, line 282 def use_sucker_punch require 'rollbar/delay/sucker_punch' if defined?(SuckerPunch) @use_async = true @async_handler = Rollbar::Delay::SuckerPunch end
use_sucker_punch=(_value)
click to toggle source
# File lib/rollbar/configuration.rb, line 288 def use_sucker_punch=(_value) deprecation_message = '#use_sucker_punch=(value) has been deprecated in ' \ 'favor of #use_sucker_punch. Please update your rollbar configuration.' if defined?(ActiveSupport) ActiveSupport::Deprecation.warn(deprecation_message) else puts(deprecation_message) end use_sucker_punch end
use_thread(options = {})
click to toggle source
# File lib/rollbar/configuration.rb, line 275 def use_thread(options = {}) require 'rollbar/delay/thread' @use_async = true Rollbar::Delay::Thread.options = options @async_handler = Rollbar::Delay::Thread end
wrapped_clone()
click to toggle source
# File lib/rollbar/configuration.rb, line 193 def wrapped_clone original_clone.tap do |new_config| new_config.configured_options = ConfiguredOptions.new(new_config) new_config.configured_options.configured = configured_options.configured end end
Also aliased as: clone