获取 keycloak 服务器日志

Kus*_*hne 10 configuration keycloak

我们部署了 keycloak 服务器 4.6.0.Final 以对我们的 Web 应用程序进行身份验证 如何配置以获取服务器日志?我无法从 server.log 或 Audit.log 文件中找到任何日志。我是否需要配置任何地方来显示 keycloak 服务器日志详细信息。

Kos*_*nos 19

如果您正在寻找最新的>=18 版本。新的环境变量是:

KC_LOG_LEVEL=<level>
Run Code Online (Sandbox Code Playgroud)

这里提到的可能级别:Keycloak 18 Logging

致命- 严重故障/完全无法满足任何类型的请求。

错误- 导致无法处理请求的重大错误或问题。

警告- 可能不需要立即纠正的非严重错误或问题。

INFO - Keycloak 生命周期事件或重要信息。低频。

DEBUG - 用于调试目的的更详细信息,包括数据库日志等。频率更高。

TRACE - 最详细的调试信息。频率非常高。

ALL - 所有日志消息的特殊级别

OFF - 完全关闭日志记录的特殊级别(不推荐)


San*_*aji 12

启动 Keycloak 实例时,您可以传递环境变量来设置 Keycloak 的日志级别。

docker run -e KEYCLOAK_LOGLEVEL=DEBUG jboss/keycloak
Run Code Online (Sandbox Code Playgroud)

对于 Kubernetes 部署:

将以下环境变量添加到 Kuberenetes 部署清单。

keycloak:
  extraEnv: |
    - name: KEYCLOAK_LOGLEVEL
      value: DEBUG
    - name: WILDFLY_LOGLEVEL
      value: DEBUG
Run Code Online (Sandbox Code Playgroud)

更多信息:https : //github.com/devsu/docker-keycloak/blob/master/server/README.md


Asa*_*eel 7

指定日志级别

有两个环境变量可用于控制 Keycloak 的日志级别:

  • KEYCLOAK_LOGLEVEL: 为 Keycloak 指定日志级别(可选,默认为 INFO)
  • ROOT_LOGLEVEL: 指定底层容器的日志级别(可选,默认为 INFO)

支持的日志级别ALLDEBUGERRORFATALINFOOFFTRACEWARN

日志级别也可以在运行时更改,例如(假设 docker exec 访问):

./keycloak/bin/jboss-cli.sh --connect --command='/subsystem=logging/console-handler=CONSOLE:change-log-level(level=DEBUG)'
./keycloak/bin/jboss-cli.sh --connect --command='/subsystem=logging/root-logger=ROOT:change-root-log-level(level=DEBUG)'
./keycloak/bin/jboss-cli.sh --connect --command='/subsystem=logging/logger=org.keycloak:write-attribute(name=level,value=DEBUG)'
Run Code Online (Sandbox Code Playgroud)

内容取自jboss/keycloak - Docker Hub