Class: Semlogr::Sinks::Filtering

Inherits:
Object
  • Object
show all
Defined in:
lib/semlogr/sinks/filtering.rb

Instance Method Summary collapse

Constructor Details

#initialize(filters, sink) ⇒ Filtering

Returns a new instance of Filtering.



4
5
6
7
# File 'lib/semlogr/sinks/filtering.rb', line 4

def initialize(filters, sink)
  @filters = filters
  @sink = sink
end

Instance Method Details

#emit(log_event) ⇒ Object



9
10
11
12
13
# File 'lib/semlogr/sinks/filtering.rb', line 9

def emit(log_event)
  filtered = @filters.any? { |filter| filter.call(log_event) }

  @sink.emit(log_event) unless filtered
end