class LogStash::Filters::Ruby
Execute ruby code.
For example, to cancel 90% of events, you can do this:
filter { ruby { # Cancel 90% of events code => "event.cancel if rand <= 0.90" } }
Public Instance Methods
filter(event)
click to toggle source
# File lib/logstash/filters/ruby.rb, line 35 def filter(event) return unless filter?(event) @codeblock.call(event) filter_matched(event) end
register()
click to toggle source
# File lib/logstash/filters/ruby.rb, line 28 def register # TODO(sissel): Compile the ruby code eval(@init, binding, "(ruby filter init)") if @init eval("@codeblock = lambda { |event| #{@code} }", binding, "(ruby filter code)") end