我想获得ruby过滤器中代码的帮助。
logstash版本为5.0.0 alpha4。
我正在测试ruby过滤器中的代码,如下所示,但我得到_rubyexception。
ruby {
code => "
event['newfield'] = 'test'
"
}
ruby过滤器在filter {}中定义。 logstash.log显示如下,
:timestamp=>"2016-08-03T15:26:47.291000+0900", :message=>"Ruby exception occurred: undefined method[]=' for 2016-08-03T06:26:46.829Z test %{message}:LogStash::Event", :level=>:error}
我无法找到ruby过滤器无法使用事件对象的原因。 如果我能得到一些帮助来解决这个问题,我感激不尽。
谢谢, 于
答案 0 :(得分:5)
Logstash 5.0.0中有一个新的事件API,现在您需要在事件上设置字段,如下所示:
ruby {
code => "
event.set('newfield', 'test')
"
}
答案 1 :(得分:2)
从字段名称获取值:
ruby {
code => "
value = (event.get('field_name'))
"
}