Class: LogStash::Filters::Linelookup

Inherits:
Base
  • Object
show all
Defined in:
lib/logstash/filters/linelookup.rb

Instance Method Summary collapse

Instance Method Details

#filter(event) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/logstash/filters/linelookup.rb', line 29

def filter(event)
  retries = 2  
  begin
    @lookupconn ||= connect

    @lookupconn.puts(event.sprintf(@query))

    response = @lookupconn.gets.chop

    if response != @miss_value
      event.set(@target, response)
      filter_matched(event)
    end

  rescue => e
    @logger.warn("Failed to query lookup service", :event => event, :exception => e)
    @lookupconn = nil
    retries -= 1
    unless retries < 0
      retry
    else
      @logger.warn("Too many reties. Giving up.", :event => event)
      event.tag("_linelookup_failure")
    end
  end

end

#registerObject



23
24
25
26
# File 'lib/logstash/filters/linelookup.rb', line 23

def register
  @lookupconn = nil

end