Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 可以在sumologic中解析嵌套的json吗?_Logging_Sumologic - Fatal编程技术网

Logging 可以在sumologic中解析嵌套的json吗?

Logging 可以在sumologic中解析嵌套的json吗?,logging,sumologic,Logging,Sumologic,因此,我有一个以下格式的日志: { "date":1598808279.785381, "log":"{\"level\":\"info\",\"ts\":15988.7852,\"caller\":\"server/middlewares.go:26\",\"msg\":\"Request Log\&

因此,我有一个以下格式的日志:

{
    "date":1598808279.785381,
    "log":"{\"level\":\"info\",\"ts\":15988.7852,\"caller\":\"server/middlewares.go:26\",\"msg\":\"Request Log\",\"status\":200,\"method\":\"GET\",\"url\":\"/health\",\"duration\":0.000008323}",
    "container_id":"someid",
    "container_name":"/service-name",
    "source":"stdout"
}
我想提取
log
字段中的状态。在阅读文档之后,我似乎应该能够做到:

_collector="MyService" | json auto | fields log.status
但是,这会引发
的语法错误

我认为的另一个解决方案是,根据其他语言的工作方式,管道通常会返回对象,因此,如果我可以增量返回字段,这应该可以工作:

_collector="MyService" | json auto | fields (log) | fields (status)
但这也不起作用

我已尝试指定以下给定字段:

_collector="MyService" | json auto "fields.log.status"
但这不起作用

我还尝试使用如下字段直接提取该值:

_collector="MyService" | json field=Message "log.status"
最后,我尝试了所有这些变化:

_collector="MyService" | json auto field=log "status"

_collector="MyService" | json auto field=log | fields status

_collector="MyService" | json auto field=log "status"

_collector="MyService" | json auto field=log "log.status"
但是没有用


知道我哪里出错了吗?

日志是以字符串形式转义的json,因此需要对json进行两次解析

| json "log"
| json auto field=log
| fields status

日志以字符串形式转义为json,因此需要对json进行两次解析

| json "log"
| json auto field=log
| fields status

我找到了另一种方法,但这种方法有效,而且更清晰。谢谢我找到了另一种方法,但这种方法有效,而且更清晰。谢谢你找到的另一条路是什么?你找到的另一条路是什么?