Contributing to Logstash

Before 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

Since 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 Shutdown APIs

Starting in Logstash 2.0, we changed 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 returns true when the stop method has already been called for that plugin.
  • The close method performs final bookkeeping and cleanup after the plugin’s run method and the plugin’s thread both exit. The close method is a a new name for the method known as teardown 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 plugin shutdown APIs is available.

Extending Logstash core

We also welcome contributions and bug fixes to the Logstash core feature set.

Please read through our contribution guide, and the Logstash readme document.