Airbrake

Attributes

configuration[W]

A Airbrake configuration object. Must act like a hash and return sensible values for all Airbrake configuration options. See Airbrake::Configuration.

sender[RW]

The sender object is responsible for delivering formatted data to the Airbrake server. Must respond to send_to_airbrake. See Airbrake::Sender.

Public Class Methods

build_lookup_hash_for(exception, options = {}) click to toggle source
# File lib/airbrake.rb, line 113
def build_lookup_hash_for(exception, options = {})
  notice = build_notice_for(exception, options)

  result = {}
  result[:action]           = notice.action      rescue nil
  result[:component]        = notice.component   rescue nil
  result[:error_class]      = notice.error_class if notice.error_class
  result[:environment_name] = 'production'

  unless notice.backtrace.lines.empty?
    result[:file]        = notice.backtrace.lines.first.file
    result[:line_number] = notice.backtrace.lines.first.number
  end

  result
end
configuration() click to toggle source

The configuration object. @see Airbrake.configure

# File lib/airbrake.rb, line 87
def configuration
  @configuration ||= Configuration.new
end
configure(silent = false) click to toggle source

Call this method to modify defaults in your initializers.

@example

Airbrake.configure do |config|
  config.api_key = '1234567890abcdef'
  config.secure  = false
end
# File lib/airbrake.rb, line 78
def configure(silent = false)
  yield(configuration)
  self.sender = Sender.new(configuration)
  report_ready unless silent
  self.sender
end
environment_info() click to toggle source

Returns the Ruby version, Rails version, and current Rails environment

# File lib/airbrake.rb, line 55
def environment_info
  info = "[Ruby: #{RUBY_VERSION}]"
  info << " [#{configuration.framework}]" if configuration.framework
  info << " [Env: #{configuration.environment_name}]" if configuration.environment_name
end
logger() click to toggle source

Look for the Rails logger currently defined

# File lib/airbrake.rb, line 67
def logger
  self.configuration.logger
end
notify(exception, opts = {}) click to toggle source

Sends an exception manually using this method, even when you are not in a controller.

@param [Exception] exception The exception you want to notify Airbrake about. @param [Hash] opts Data that will be sent to Airbrake.

@option opts [String] :api_key The API key for this project. The API key is a unique identifier that Airbrake uses for identification. @option opts [String] :error_message The error returned by the exception (or the message you want to log). @option opts [String] :backtrace A backtrace, usually obtained with caller. @option opts [String] :rack_env The Rack environment. @option opts [String] :session The contents of the user's session. @option opts [String] :environment_name The application environment name.

# File lib/airbrake.rb, line 102
def notify(exception, opts = {})
  send_notice(build_notice_for(exception, opts))
end
notify_or_ignore(exception, opts = {}) click to toggle source

Sends the notice unless it is one of the default ignored exceptions @see Airbrake.notify

# File lib/airbrake.rb, line 108
def notify_or_ignore(exception, opts = {})
  notice = build_notice_for(exception, opts)
  send_notice(notice) unless notice.ignore?
end
report_environment_info() click to toggle source

Prints out the environment info to the log for debugging help

# File lib/airbrake.rb, line 40
def report_environment_info
  write_verbose_log("Environment Info: #{environment_info}")
end
report_notice(notice) click to toggle source

Prints out the details about the notice that wasn't sent to server

# File lib/airbrake.rb, line 50
def report_notice(notice)
  write_verbose_log("Notice details: \n#{notice}")
end
report_ready() click to toggle source

Tell the log that the Notifier is good to go

# File lib/airbrake.rb, line 35
def report_ready
  write_verbose_log("Notifier #{VERSION} ready to catch errors")
end
report_response_body(response) click to toggle source

Prints out the response body from Airbrake for debugging help

# File lib/airbrake.rb, line 45
def report_response_body(response)
  write_verbose_log("Response from Airbrake: \n#{response}")
end
write_verbose_log(message) click to toggle source

Writes out the given message to the logger

# File lib/airbrake.rb, line 62
def write_verbose_log(message)
  logger.debug LOG_PREFIX + message if logger
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.