Sha256: b42fae3354e49a5188b4cc87490bcac39dc7fa0e2091d0888b7f6dbe29acb507

Contents?: true

Size: 315 Bytes

Versions: 5

Compression:

Stored size: 315 Bytes

Contents

module Semlogr
  module Sinks
    class Filtering
      def initialize(filters, sink)
        @filters = filters
        @sink = sink
      end

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

        @sink.emit(log_event) unless filtered
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
semlogr-0.3.0 lib/semlogr/sinks/filtering.rb
semlogr-0.2.3 lib/semlogr/sinks/filtering.rb
semlogr-0.2.2 lib/semlogr/sinks/filtering.rb
semlogr-0.2.1 lib/semlogr/sinks/filtering.rb
semlogr-0.2.0 lib/semlogr/sinks/filtering.rb