loggie
loggie copied to clipboard
Kafka Source如何输出消息体key值
如题,Kafka的生产者是有key和value的,但通过loggie消费,默认只输出value。请问,如何配置可获取到key?
暂时不支持,可以考虑支持一下。
简单看了下相关代码,目前loggie只取了msg.Value,没有取msg.Key https://github.com/loggie-io/loggie/blob/main/pkg/source/kafka/kafka.go#L173-L188
e := k.eventPool.Get()
header := e.Header()
if header == nil {
header = make(map[string]interface{})
}
header["kafka"] = map[string]interface{}{
"offset": msg.Offset,
"partition": msg.Partition,
"timestamp": msg.Time.Format(time.RFC3339),
"topic": msg.Topic,
}
for _, h := range msg.Headers {
header[h.Key] = string(h.Value)
}
e.Fill(e.Meta(), header, msg.Value)
我想自己魔改下,感觉直接在msg.Value拼上msg.Key好像不大合理。是不是append在header里比较合适,方便后续自行处理。 Any suggestions?