class Semlogr::Sinks::Filtering
Public Class Methods
new(filters, sink)
click to toggle source
# File lib/semlogr/sinks/filtering.rb, line 8 def initialize(filters, sink) @filters = filters @sink = sink end
Public Instance Methods
emit(log_event)
click to toggle source
# 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