如何在 Seq 中查询 json 文件?

How can I query a json file in Seq?

我对日志记录完全陌生,但熟悉 SQL 查询。我现在正在试验 Serilog 和 Seq。我设法用 Serilog 制作了 JSON 行日志文件,并可以通过 seqcli ingest -i 命令将文件导入 Seq。我可以查询我的流,但方式非常有限。例如

select * from stream

如下截图所示(示例文件是Seq自己的日志):

我还可以查询@Timestamp、@Arrived 和@Data 列,如

select @Timestamp, @Arrived, @Data from stream

但我不知道如何访问@Data 中的属性。我期待

select @Timestamp, @Arrived, @Data.@mt.@mt.UserId from stream

但这不起作用。我如何列出例如 @Data.@mt.@mt.UserId 值?

更新

有趣的是,Seq 显示的不是文件的原始内容。这部分: 在原始文件中看起来就像这样:

{"@t":"2022-03-30T14:24:49.0999009Z","@mt":"Creating default workspace for {UserId}","UserId":"user-admin"}

所以,关于这一点,我希望

select @mt.UserId from stream

或一些类似的查询工作。

使用seqcli ingest导入时需要指定--json,例如:

seqcli ingest -i ./some.log --json