You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用LoggingEventCompositeJsonEncoder输出顶层JSON而非嵌套JSON?

问题

使用LoggingEventCompositeJsonEncoder时,通过如下配置:

<pattern>
          <pattern>{ "fieldName": "#tryJson{%message}" }</pattern>
        </pattern>

可生成{ fieldName: [NESTEDJSONHERE] }格式的嵌套JSON。但如何配置才能直接生成顶层JSON?例如希望通过类似如下配置:

<pattern>
          <pattern>{ #tryJson{%message} }</pattern>
        </pattern>

生成合法的顶层JSON结构?

解决方案

要直接生成顶层JSON,你需要去掉外层多余的大括号,直接将#tryJson{%message}作为pattern的核心内容,配置示例如下:

<pattern>
          <pattern>#tryJson{%message}</pattern>
        </pattern>

关键说明

  • 如果你的%message本身就是完整的合法JSON字符串(比如{"user":"Alice", "action":"login"}),#tryJson会直接将其解析为JSON对象输出,最终结果就是你需要的顶层JSON结构,无需额外嵌套。
  • 若%message不是合法JSON格式,#tryJson会原样输出消息内容,因此要确保日志消息本身符合JSON语法规范,才能得到正确的顶层JSON输出。

内容的提问来源于stack exchange,提问作者Paku

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 16:35:02