logstashでjavaクラスを呼び出すカスタムフィルタプラグインを作成しました。Logstashカスタム入力プラグインを使用して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クラスをインスタンス化することができますか?キューから読み込んだすべてのメッセージについて、Javaクラスの新しいインスタンスを作成するのではなく、ログスタートの起動時にインスタンス化し、すべての受信メッセージに対して同じオブジェクトを使用します。
ありがとう。あなたは私の一日を救った! – minion