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

如何在Keycloak 20中配置Quarkus日志JSON附加字段

解决Keycloak 20.0.3 JSON日志添加固定键值对的问题

核心前提:先启用JSON日志格式

你的配置未生效的首要原因是Keycloak默认未开启JSON日志输出,必须先启用该功能,额外字段配置才会生效。

有效配置方案(任选其一)

1. 通过quarkus.properties配置

在挂载的quarkus.properties文件中添加以下内容:

# 启用JSON日志格式
quarkus.log.handler.console.formatter=json
# 添加固定键值对foo=bar
quarkus.log.json.additional-field."foo".value=bar

2. 通过docker-compose环境变量配置

修改docker-compose.yml的environment字段:

services:
  keycloak:
    image: quay.io/keycloak/keycloak:20.0.3
    environment:
      # 启用JSON日志
      QUARKUS_LOG_HANDLER_CONSOLE_FORMATTER: json
      # 添加额外字段,注意双下划线替代原配置中的点
      QUARKUS_LOG_JSON_ADDITIONAL_FIELD__FOO__VALUE: bar
    volumes:
      - ./quarkus.properties:/opt/keycloak/conf/quarkus.properties
    # 其他原有配置...

3. 通过JAVA_OPTS_APPEND配置

使用JVM参数同时指定日志格式和额外字段:

services:
  keycloak:
    image: quay.io/keycloak/keycloak:20.0.3
    environment:
      JAVA_OPTS_APPEND: >-
        -Dquarkus.log.handler.console.formatter=json
        -Dquarkus.log.json.additional-field.foo.value=bar
    # 其他原有配置...

关键注意事项

  • 环境变量转义规则:Quarkus配置中的.在环境变量中需替换为__(双下划线),否则配置无法被识别
  • 确认quarkus.properties挂载路径正确,Keycloak 20.0.3的配置目录确实是/opt/keycloak/conf/
  • 重启容器后检查控制台输出,确认日志已转为JSON格式且包含"foo":"bar"字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 18:06:38