у нас есть ruby код в нашей logsta sh conf, и мы получаем синтаксическую ошибку, когда мы анализируем его в logsta sh версии 7.1.1, это код:
ruby {
init => "
def replace_null_string(h ,event , path)
h.each do |k,v|
if v == 'null'
event.set(path + '[' + k + ']', nil)
end
event.set(path + '[' + k + ']', nil)
if v.is_a?(Hash)
replace_null_string(h ,event , path + '[' + k + ']')
end
end
end
"
code = > "replace_null_string (event.to_ha sh, event, '')"}
и мы получаем эту ошибку:
java.lang.IllegalStateExeption: Logstash stopped processing because of an error: (SyntaxError) (ruby filter init) :1: syntax error, unexepected tIDENTIFIER
def replace_null_string(h ,event , path) h.each do |k,v| if v == 'null' event.set(path + '[' + k + ']', nil) end
event.set(path + '[' + k + ']', nil) if v.is_a?(Hash) replace_null_string(h ,event , path + '[' + k + ']') end end end