class Raven::Configuration
Constants
- IGNORE_DEFAULT
Attributes
Exceptions from these directories to be ignored
Optional Proc to be used to send events asynchronously.
Optional Proc to be used to send events asynchronously.
Catch exceptions before they’re been processed by ActionDispatch::ShowExceptions or ActionDispatch::DebugExceptions
Number of lines of code context to capture, or nil for none
Encoding type for event bodies
Whitelist of environments that will send notifications to Sentry
Which exceptions should never be sent
The Faraday adapter to be used. Will default to Net::HTTP when not set.
DEPRECATED: This option is now ignored as we use our own adapter.
Logger
to use internally
Timeout waiting for the connection to open in seconds
Processors to run on data before sending upstream
Project ID number to send to the Sentry server
Project directory root
Public key for authentication with the Sentry server
additional fields to sanitize
Accessors for the component parts of the DSN
Secret key for authentication with the Sentry server
Include module versions in reports?
Simple server string (setter provided below)
Provide a configurable callback to block or send events
Ssl settings passed direactly to faraday’s ssl option
Should the SSL certificate of the server be verified?
Timeout when waiting for the server to return data in seconds
Public Class Methods
# File lib/raven/configuration.rb, line 97 def initialize self.server = ENV['SENTRY_DSN'] if ENV['SENTRY_DSN'] @context_lines = 3 self.current_environment = ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'default' self.send_modules = true self.excluded_exceptions = IGNORE_DEFAULT self.processors = [Raven::Processor::RemoveCircularReferences, Raven::Processor::UTF8Conversion, Raven::Processor::SanitizeData] self.ssl_verification = false self.encoding = 'gzip' self.timeout = 1 self.open_timeout = 1 self.tags = {} self.async = false self.catch_debugged_exceptions = true self.sanitize_fields = [] end
Public Instance Methods
Allows config options to be read like a hash
@param [Symbol] option Key for a given attribute
# File lib/raven/configuration.rb, line 153 def [](option) send(option) end
# File lib/raven/configuration.rb, line 143 def async=(value) raise ArgumentError.new("async must be callable (or false to disable)") unless (value == false || value.respond_to?(:call)) @async = value end
# File lib/raven/configuration.rb, line 157 def current_environment=(environment) @current_environment = environment.to_s end
# File lib/raven/configuration.rb, line 136 def encoding=(encoding) raise Error.new('Unsupported encoding') unless ['gzip', 'json'].include? encoding @encoding = encoding end
# File lib/raven/configuration.rb, line 169 def log_excluded_environment_message Raven.logger.debug "Event not sent due to excluded environment: #{current_environment}" end
# File lib/raven/configuration.rb, line 161 def send_in_current_environment? if environments environments.include?(current_environment) else true end end
# File lib/raven/configuration.rb, line 114 def server=(value) uri = URI.parse(value) uri_path = uri.path.split('/') if uri.user # DSN-style string @project_id = uri_path.pop @public_key = uri.user @secret_key = uri.password end @scheme = uri.scheme @host = uri.host @port = uri.port if uri.port @path = uri_path.join('/') # For anyone who wants to read the base server string @server = "#{@scheme}://#{@host}" @server << ":#{@port}" unless @port == { 'http' => 80, 'https' => 443 }[@scheme] @server << @path end