如何在Quarkus JSON日志中配置引用MDC值为额外字段?
解决方案
直接在application.yml的JSON日志附加字段配置中,使用日志框架的MDC引用语法即可提取transactionId作为独立的correlation_id字段,具体配置如下:
quarkus: log: console: json: enabled: true additional-field: - name: correlation_id value: "%X{transactionId}" # 可选:当transactionId不存在时设置默认值 # value: "%X{transactionId:-unidentified}"
关键说明
%X{key}是Quarkus底层日志框架(基于Logback)引用MDC变量的标准语法,这里的transactionId对应你MDC中的目标键名。- 配置生效后,JSON日志会保留原有的
mdc字段,同时新增独立的correlation_id字段,其值与MDC里的transactionId完全同步。 - 若要处理MDC中无
transactionId的场景,可通过%X{transactionId:-默认值}的格式设置 fallback 值,避免字段为空或缺失。
内容的提问来源于stack exchange,提问作者Raja
相关产品推荐
相关产品推荐

