天天看點

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