Method: NewRelic::Agent::ErrorFilter#ignore

Defined in:
lib/new_relic/agent/error_filter.rb

#ignore(*args) ⇒ Object

A generic method for adding ignore filters manually. This is kept for compatibility with the previous ErrorCollector#ignore method, and adds some flexibility for adding different ignore/expected error types by examining each argument.

[View source]

72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/new_relic/agent/error_filter.rb', line 72

def ignore(*args)
  args.each do |errors|
    case errors
    when Array
      errors.each { |e| ignore(e) }
    when Integer
      @ignore_status_codes << errors
    when Hash
      @ignore_messages.update(errors)
      log_filter(:ignore_messages, errors)
    when String
      if /^[\d\,\-]+$/.match?(errors)
        @ignore_status_codes |= parse_status_codes(errors)
        log_filter(:ignore_status_codes, errors)
      else
        new_ignore_classes = errors.split(',').map!(&:strip)
        @ignore_classes |= new_ignore_classes
        log_filter(:ignore_classes, new_ignore_classes)
      end
    end
  end
end