Class: LogStash::Outputs::Snowplow

Inherits:
Base
  • Object
show all
Defined in:
lib/logstash/outputs/snowplow.rb

Instance Method Summary collapse

Instance Method Details

#receive(event) ⇒ Object



39
40
41
42
43
44
45
# File 'lib/logstash/outputs/snowplow.rb', line 39

def receive(event)
  begin
    @codec.encode(event)
  rescue StandardError => e
    @logger.warn("Error encoding event", exception: e, event: event)
  end
end

#registerObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/logstash/outputs/snowplow.rb', line 22

def register
  @tracker = LogStash::Outputs::Tracker.new(SnowplowTracker::Emitter.new(@url, {
    protocol: @protocol,
    method: @method,
    buffer_size: @buffer_size.to_i
  }), @base64 == "true")

  @codec.on_event do |event, payload|
    begin
      @tracker.track(event)
    rescue => e
      @logger.error("Failed to send event to Snowplow", event: event, exception: e,
                    backtrace: e.backtrace)
    end
  end
end