第 13 章 配置日志记录


红帽构建的 Keycloak 使用 JBoss Logging 框架。以下是可用日志处理程序的高级概述:

  • root

    • 控制台(默认)
    • file

13.1. 日志记录配置

日志记录是在红帽构建的 Keycloak 中按类别进行的。您可以为 root 日志级别或更具体的类别配置日志记录,如 org.hibernate 或 org.keycloak。本章论述了如何配置日志记录。

13.1.1. 日志级别

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

级别描述

FATAL

因无法满足任何类型的请求而造成关键故障。

ERROR

造成无法处理请求的重大错误或问题。

WARN

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

INFO

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

DEBUG

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

TRACE

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

ALL

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

OFF

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

13.1.2. 配置 root 日志级别

如果没有用于更具体的类别日志记录器的日志级别配置,则改为使用分隔类别。如果没有分隔类别,则使用根日志记录器级别。

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

bin/kc.[sh|bat] start --log-level=<root-level>

为这个命令使用这些指南:

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

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

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

bin/kc.[sh|bat] start --log-level="<root-level>,<org.category1>:<org.category1-level>"

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

Example

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

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

  • 所有日志记录器的根日志级别设置为 INFO。
  • hibernate 日志级别一般设置为 debug。
  • 为了防止 SQL 抽象语法树,创建详细日志输出时,特定的子类别 org.hibernate.hql.internal.ast 设置为 info。因此,SQL 抽象语法树会被省略,而不是出现在 debug 级别。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部