【发布时间】:2016-10-24 19:43:06
【问题描述】:
是否可以从Logstash Ruby filter plugin 中启动 Ruby 调试器?这对调试非常方便。
【问题讨论】:
标签: logstash logstash-configuration
是否可以从Logstash Ruby filter plugin 中启动 Ruby 调试器?这对调试非常方便。
【问题讨论】:
标签: logstash logstash-configuration
优秀的 Logstash 人员已经想到了这一点,因为他们将 pry 包含到 Logstash 核心中。因此,您所要做的就是要求在您的 ruby 过滤器代码中撬动,如下面的示例配置所示:
input {
file {
path => "/tmp/myfile.csv"
sincedb_path => "/dev/null"
start_position => "beginning"
}
}
filter {
ruby {
code => "require 'pry'
... your code ...
# start a REPL session
binding.pry
... your code ...
"
}
}
当 Logstash 运行时,您将在终端中获得一个 REPL 会话,如下所示,您将能够执行任何 pry 允许您执行的操作。
[1] pry(#<LogStash::Filters::Ruby>)>
【讨论】:
input { stdin { } } filter { csv { columns => ["field1", "field2"] separator => "," } ruby { init => " require 'pry' " code => " binding.pry " }