diff --git a/filter/kv.go b/filter/kv.go index 19e961c..f7db4b4 100644 --- a/filter/kv.go +++ b/filter/kv.go @@ -91,9 +91,6 @@ func (p *KVFilter) Filter(event map[string]interface{}) (map[string]interface{}, return event, false } A := strings.Split(msg.(string), p.field_split) - if len(A) == 1 { - return event, false - } var o map[string]interface{} = event if p.target != "" { diff --git a/filter/kv_test.go b/filter/kv_test.go index d565090..2fa0197 100644 --- a/filter/kv_test.go +++ b/filter/kv_test.go @@ -103,3 +103,24 @@ func TestKVFilter(t *testing.T) { t.Error("kv failed") } } +func TestKVFilterOneField(t *testing.T) { + config := make(map[interface{}]interface{}) + config["field_split"] = " " + config["value_split"] = "=" + config["src"] = "message" + f := BuildFilter("KV", config) + + event := make(map[string]interface{}) + event["message"] = "a=aaa" + t.Log(event) + + event, ok := f.Filter(event) + if !ok { + t.Error("kv failed") + } + t.Log(event) + + if event["a"] != "aaa" { + t.Error("kv failed") + } +}