Class: LogStash::Filters::RemoveKeyPattern
- Inherits:
-
Base
- Object
- Base
- LogStash::Filters::RemoveKeyPattern
- Defined in:
- lib/logstash/filters/remove_key_pattern.rb
Overview
Remove key pattern filter. Receives a parent key and an array with multiple patterns to remove from it’s children
For example, if you have a parent named ‘haystack’, and you want to remove all his children that contains a digit(d) or ‘needle’, do this:
- source, ruby
-
filter {
remove_key_pattern { parent_keys => ["haystack1", "haystack2"] pattern => ["\\d", "needle"] keep_only_ids => "true" }}
Instance Method Summary collapse
Instance Method Details
#filter(event) ⇒ Object
44 45 46 47 48 49 |
# File 'lib/logstash/filters/remove_key_pattern.rb', line 44 def filter(event) @parent_keys.each do |key| remove_pattern(event, key) unless event.get(key).nil? end filter_matched(event) end |
#register ⇒ Object
34 35 36 37 38 39 40 41 |
# File 'lib/logstash/filters/remove_key_pattern.rb', line 34 def register begin @pattern = Regexp.new(@pattern.join('|')) rescue @logger.error("One or more keys are invalid", :pattern => @pattern.join(', ')) raise "Bad pattern, aborting" end end |