第 16 章 配置日志记录


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

  • 控制台
  • file
  • syslog

16.1. 日志记录配置

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

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

16.1.1. 日志级别

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

级别描述

FATAL

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

ERROR

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

WARN

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

INFO

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

DEBUG

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

TRACE

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

ALL

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

OFF

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

16.1.2. 配置 root 日志级别

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

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

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

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

  • 对于 <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>"

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

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 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

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

© 2024 Red Hat, Inc.