第 16 章 配置日志记录


为红帽构建的 Keycloak 配置日志记录。

红帽构建的 Keycloak 使用 JBoss Logging 框架。以下是可用日志处理程序的高级概述,它带有通用父日志处理程序 root

  • 控制台
  • file
  • syslog

16.1. 日志记录配置

日志记录在红帽构建的 Keycloak 中按类别完成。您可以为根日志级别或更具体的类别(如 org.hibernateorg.keycloak )配置日志记录。也可以为每个特定的日志处理程序定制日志级别。

本章论述了如何配置日志记录。

16.1.1. 日志级别

下表定义可用的日志级别。

Expand
级别描述

FATAL

具有完整无法服务的任何请求的关键故障。

ERROR

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

WARN

可能需要立即更正的非关键错误或问题。

INFO

红帽构建的 Keycloak 生命周期事件或重要信息。低频率。

DEBUG

用于调试目的(如数据库日志)的更多详细信息。频率更高。

TRACE

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

ALL

所有日志消息的特殊级别。

OFF

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

16.1.2. 配置 root 日志级别

当没有针对更具体的类别日志记录器的日志级别配置时,会使用封闭类别。如果没有封闭类别,则使用根日志记录器级别。

要设置 root 日志级别,请输入以下命令:

bin/kc.[sh|bat] start --log-level=<root-level>
Copy to Clipboard Toggle word wrap

对这个命令使用以下指南:

  • 对于 <root-level >,请提供上表中定义的级别。
  • 日志级别不区分大小写。例如,您可以使用 DEBUGdebug
  • 如果您要意外设置日志级别两次,则列表中最后一次出现的内容将变为日志级别。例如,如果您包含 syntax -log-level="info,…​,DEBUG,…​",则根日志记录器将为 DEBUG

16.1.3. 配置特定于类别的日志级别

您可以为红帽构建的 Keycloak 中的特定区域设置不同的日志级别。使用这个命令提供您需要不同日志级别的类别列表:

bin/kc.[sh|bat] start --log-level="<root-level>,<org.category1>:<org.category1-level>"
Copy to Clipboard Toggle word wrap

应用到类别的配置也适用于其子类别,除非您包含更为具体的匹配子类别。

Example

bin/kc.[sh|bat] start --log-level="INFO,org.hibernate:debug,org.hibernate.hql.internal.ast:info"
Copy to Clipboard Toggle word wrap

这个示例设置以下日志级别:

  • 所有日志记录器的根日志级别都设置为 INFO。
  • 通常,hibernate 日志级别被设置为 debug。
  • 要从创建详细日志输出中保留 SQL 抽象语法树,特定的子类别 org.hibernate.hql.internal.ast 设置为 info。因此,SQL 抽象语法树会被忽略,而不是出现在 debug 级别中。

16.1.3.1. 将级别配置为单个选项

在配置特定于类别的日志级别时,您还可以将日志级别设置为单独的 log-level-<category> 选项,而不是使用该级别的 log-level 选项。这在您要为所选类别设置日志级别时很有用,而不覆盖之前设置的 日志级别 选项。

Example

如果您以以下方式启动服务器:

bin/kc.[sh|bat] start --log-level="INFO,org.hibernate:debug"
Copy to Clipboard Toggle word wrap

然后,您可以设置一个环境变量 KC_LOG_LEVEL_ORG_KEYCLOAK=trace,以更改 org.keycloak 类别的日志级别。

log-level -<category > 选项优先于日志级别。这可让您覆盖 log-level 选项中设置的内容。例如,如果您为上述 CLI 示例设置了 KC_LOG_LEVEL_ORG_HIBERNATE=trace,则 org.hibernate 类别将使用 trace 级别而不是 debug

请记住,在使用环境变量时,类别名称必须采用大写,并且点必须替换为下划线。使用其他配置源时,必须指定类别名称 "as is",例如:

bin/kc.[sh|bat] start --log-level="INFO,org.hibernate:debug" --log-level-org.keycloak=trace
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat