Class: Fluent::Plugin::FilterListFilter

Inherits:
Filter
  • Object
show all
Includes:
IP, Matchers
Defined in:
lib/fluent/plugin/filter_filter_list.rb

Instance Method Summary collapse

Instance Method Details

#configure(conf) ⇒ Object



19
20
21
22
23
# File 'lib/fluent/plugin/filter_filter_list.rb', line 19

def configure(conf)
  super
  patterns = @pattern_file_paths.flat_map { |p| File.readlines(p).map(&:chomp).reject(&:empty?) }
  @matcher = (@filter == 'IP') ? IPMatcher.new(patterns) : ACMatcher.new(patterns)
end

#filter(_tag, _time, record) ⇒ Object



25
26
27
28
29
30
# File 'lib/fluent/plugin/filter_filter_list.rb', line 25

def filter(_tag, _time, record)
  target = record[@key_to_filter]
  return nil if target && (@matcher.matches?(target) || (@filter_empty && target.strip.empty?))

  record
end