mirror of
https://github.com/elastic/logstash.git
synced 2025-04-24 22:57:16 -04:00
54 lines
1.7 KiB
Text
54 lines
1.7 KiB
Text
[[contributing-java-plugin]]
|
|
== Contributing a Java Plugin
|
|
|
|
beta[]
|
|
|
|
Now you can write your own Java plugin for use with {ls}.
|
|
We have provided instructions and GitHub examples to give
|
|
you a head start.
|
|
|
|
Native support for Java plugins in {ls} consists of several components
|
|
including:
|
|
|
|
* Extensions to the Java execution engine to support running Java plugins in
|
|
Logstash pipelines
|
|
* APIs for developing Java plugins.
|
|
The APIs are in the `co.elastic.logstash.api` package.
|
|
A Java plugin might break if it references classes or specific concrete
|
|
implementations of API interfaces outside that package. The implementation of
|
|
classes outside of the API package may change at any time.
|
|
* Coming in a future release: Tooling to automate the packaging and deployment of
|
|
Java plugins in Logstash. (Currently, this process is manual.)
|
|
|
|
[float]
|
|
=== Process overview
|
|
Here are the steps:
|
|
|
|
. Choose the type of plugin you want to create: input, codec, filter, or output.
|
|
. Set up your environment.
|
|
. Code the plugin.
|
|
. Package and deploy the plugin.
|
|
. Run Logstash with your new plugin.
|
|
|
|
[float]
|
|
==== Let's get started
|
|
Here are the example repos:
|
|
|
|
* https://github.com/logstash-plugins/logstash-input-java_input_example[Input plugin example]
|
|
* https://github.com/logstash-plugins/logstash-codec-java_codec_example[Codec plugin example]
|
|
* https://github.com/logstash-plugins/logstash-filter-java_filter_example[Filter plugin example]
|
|
* https://github.com/logstash-plugins/logstash-output-java_output_example[Output plugin example]
|
|
|
|
Here are the instructions:
|
|
|
|
* <<java-input-plugin>>
|
|
* <<java-codec-plugin>>
|
|
* <<java-filter-plugin>>
|
|
* <<java-output-plugin>>
|
|
|
|
|
|
include::java-input.asciidoc[]
|
|
include::java-codec.asciidoc[]
|
|
include::java-filter.asciidoc[]
|
|
include::java-output.asciidoc[]
|
|
|