天天看点

logstash java插件_Logstash自定义输入插件调用java类

我已经为logstash编写了一个自定义过滤器插件来调用java类。Logstash自定义输入插件调用java类

要求:

输入插件:从队列中读取

自定义插件:对于队列中的每个消息调用java类

**Code:**

# encoding: utf-8

require "logstash/filters/base"

require "logstash/namespace"

require "java"

require "test.jar"

class LogStash::Filters::Example < LogStash::Filters::Base

config_name "example"

public

def register

end # def register

public

def filter(event)

object = Java::Com.test.Test.new

a = object.readMessage(event.get("message"))

event.set("message",a)

filter_matched(event)

end # def filter

end # class LogStash::Filters::Example

问题: 是否有办法我可以只实例化一次java类?对于从队列中读取的每条消息,我不想创建java类的新实例,而是在logstash启动过程中对其进行实例化,并对所有传入消息使用相同的对象。

2016-12-29

minion