正在加载

为 Logstash 贡献

您可以向 Logstash 添加您自己的输入、编解码器、过滤器或输出插件。

从最终目的开始。 这些指导原则和最佳实践可以帮助您构建更好的插件,即使您选择不与世界分享它。

  • 一致性。 您的插件在质量和命名约定上必须与其他插件保持一致。 插件名称必须是唯一的,并且采用以下格式:logstash-plugintype-pluginname。 如果插件名称超过一个单词,请在插件类型之后用下划线分隔单词。 示例:logstash-output-elastic_app_search

  • 文档。 文档是您的插件的必需组件。 如果我们在 Logstash 参考中列出您的插件,我们会指向您插件 repo 中的文档——readme.md、docs/index.asciidoc 或两者兼有。

  • 代码审查。 您的插件必须由社区成员审查,以保证连贯性、质量、可读性、稳定性和安全性。

  • 测试。 您的插件必须包含测试才能被接受。 您可以参考 http://betterspecs.org/ 获取示例。

插件可以独立于 Logstash 核心进行开发和部署。 以下是一些文档,可指导您完成编码、部署和共享插件的过程

您有三个选项可以关闭插件:stopstop?close

  • 从插件线程外部调用 stop 方法。 此方法发出信号通知插件停止。
  • 当已为该插件调用 stop 方法时,stop? 方法返回 true
  • 在插件的 run 方法和插件的线程都退出后,close 方法执行最后的记账和清理工作。 close 方法是 Logstash 早期版本中称为 teardown 的方法的新名称。

shutdownfinishedfinished?running?terminating? 方法是冗余的,并且不再存在于 Plugin Base 类中。

插件关闭 API 的示例代码 可用

© . All rights reserved.