Class: LogStash::Filters::Python

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

Overview

Execute python code.

Instance Method Summary collapse

Instance Method Details

#filter(event, &block) ⇒ Object

def register



23
24
25
26
27
28
29
30
31
32
# File 'lib/logstash/filters/python.rb', line 23

def filter(event,&block)
  begin
    @interpreter.set('event', event.to_java)
    event = @interpreter.exec(@codeblock, 'event')
    filter_matched(event)
  rescue Exception => e
    @logger.error("Python exception occurred: #{e}")
    event.tag("_pythonexception")
  end
end

#registerObject



17
18
19
20
21
# File 'lib/logstash/filters/python.rb', line 17

def register
  @interpreter = Jython::Interpreter.new()
  @interpreter.eval(@init) if @init
  @codeblock = @interpreter.compile(remove_indent(@code))
end