I am getting an unexpected output using the kv plugin with recursive = true. With multiple levels of recursion it does not appear to parse as expected. I am using Logstash version 2.3.2, logstash-filter-kv (2.0.7)
My test input message is:
item1=[item1-subitem1=item1-subitem1-value, item1-subitem2=[item1-subitem2-subitem2A=item1-subitem2-subitem2A-value, item1-subitem2-subitem2B=item1-subitem2-subitem2B-value]], item2=item2-value
My logstash kv filter is:
kv {
recursive => "true"
field_split => ","
}
The output generated (in json) is:
"item1": {
"item1-subitem1": "item1-subitem1-value",
"item1-subitem2": {
"[item1-subitem2-subitem2A": "item1-subitem2-subitem2A-value"
},
"item1-subitem2-subitem2B": "item1-subitem2-subitem2B-value"
},
"item2": "item2-value"
The output I expected (in json) is:
"item1": {
"item1-subitem1": "item1-subitem1-value",
"item1-subitem2": {
"item1-subitem2-subitem2A": "item1-subitem2-subitem2A-value"
"item1-subitem2-subitem2B": "item1-subitem2-subitem2B-value"
},
},
"item2": "item2-value"
It looks like it is not handling the brackets "[", "]" correctly for the multiple levels of recursion. Has anyone else experienced this?