Contributing to Logstash
editContributing to Logstash
editBefore version 1.5, Logstash included all plugins in each release. This made it easy to make use of any plugin, but it complicated plugin development—a new release of Logstash became necessary if a plugin needed patching. Since version 1.5, all plugins are independent of the Logstash core. Now you can add your own input, codec, filter, or output plugins to Logstash much more easily!
Adding plugins
editSince plugins can now be developed and deployed independently of the Logstash core, there are documents which guide you through the process of coding and deploying your own plugins:
Plugin API Changes [2.0] Added in 2.0.
editThe 2.0 release of Logstash changes how input plugins shut down to increase shutdown reliability. There are three methods
for plugin shutdown: stop
, stop?
, and close
.
-
Call the
stop
method from outside the plugin thread. This method signals the plugin to stop. -
The
stop?
method returnstrue
when thestop
method has already been called for that plugin. -
The
close
method performs final bookkeeping and cleanup after the plugin’srun
method and the plugin’s thread both exit. Theclose
method is a a new name for the method known asteardown
in previous versions of Logstash.
The shutdown
, finished
, finished?
, running?
, and terminating?
methods are redundant and no longer present in the
Plugin Base class.
Sample code for the new plugin shutdown APIs is available.
Extending Logstash core
editWe also welcome contributions and bug fixes to the Logstash core feature set.
Please read through our contribution guide, and the Logstash readme document.