【发布时间】:2017-04-03 17:15:09
【问题描述】:
我在 HTTP POST 中传递一个 JSON 数组对象
[{"level":"INFO","data": "Test 1"},{"level":"INFO","data": "Test 2"}]
此消息在 SumoLogic 中被视为 1 个对象/日志消息。如何告诉 SumoLogic 将每个 JSON 对象视为独立对象并显示 2 条日志消息而不是 1 条?
【问题讨论】:
我在 HTTP POST 中传递一个 JSON 数组对象
[{"level":"INFO","data": "Test 1"},{"level":"INFO","data": "Test 2"}]
此消息在 SumoLogic 中被视为 1 个对象/日志消息。如何告诉 SumoLogic 将每个 JSON 对象视为独立对象并显示 2 条日志消息而不是 1 条?
【问题讨论】:
我相信这不能用 json 运算符来完成。但是,看看the docs for the "parse regex" operator。有一个名为“multi”的选项,它为正则表达式的每个匹配项创建一条新消息。在你的情况下,这样的事情可能会奏效:
parse regex "\{?<fieldname>.*?\}" multi
我没有在产品本身中尝试过,但这里是Regex101 link to play with the regex。
【讨论】:
我相信对此的实际答案是不要将您的日志作为数组发送。而是在正文中包含每个 json 对象,并在末尾添加一个“\n”,以便 Sumo 将它们视为单独的日志消息。
{"level":"INFO","data": "Test 1"}\n
{"level":"INFO","data": "Test 2"}\n
【讨论】: