Class: Semlogr::Sinks::Filtering
- Inherits:
-
Object
- Object
- Semlogr::Sinks::Filtering
- Defined in:
- lib/semlogr/sinks/filtering.rb
Instance Method Summary collapse
- #emit(log_event) ⇒ Object
-
#initialize(filters, sink) ⇒ Filtering
constructor
A new instance of Filtering.
Constructor Details
#initialize(filters, sink) ⇒ Filtering
Returns a new instance of Filtering.
8 9 10 11 |
# File 'lib/semlogr/sinks/filtering.rb', line 8 def initialize(filters, sink) @filters = filters @sink = sink end |
Instance Method Details
#emit(log_event) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/semlogr/sinks/filtering.rb', line 13 def emit(log_event) filtered = @filters.any? do |filter| begin filter.call(log_event) rescue StandardError => e SelfLogger.error("Failed to filter log event using filter #{filter.class}", e) false end end @sink.emit(log_event) unless filtered end |