class Airbrake::Filters::ExceptionAttributesFilter
@since v2.10.0
@api private
exception and attaches returned data to the notice object.
ExceptionAttributesFilter attempts to call ‘#to_airbrake` on the stashed
def call(notice) # rubocop:disable Metrics/AbcSize
@macro call_filter
def call(notice) # rubocop:disable Metrics/AbcSize exception = notice.stash[:exception] return unless exception.respond_to?(:to_airbrake) attributes = nil begin attributes = exception.to_airbrake rescue StandardError => ex logger.error( "#{LOG_LABEL} #{exception.class}#to_airbrake failed. #{ex.class}: #{ex}", ) end unless attributes.is_a?(Hash) logger.error( "#{LOG_LABEL} #{self.class}: wanted Hash, got #{attributes.class}", ) return end attributes.each do |key, attrs| if notice[key] notice[key].merge!(attrs) else notice[key] = attrs end end end
def initialize
def initialize @weight = 118 end