1.4. 配置日志级别、类别和格式


JBoss Logging 集成到红帽构建的 Quarkus 中,通过设置所有可用扩展的单一配置文件为 所有支持的日志记录 API 提供统一配置。要调整运行时日志记录,请修改 application.properties 文件。

有关如何将默认日志级别设置为 INFO 日志记录并包含 Hibernate DEBUG 日志的示例:

Copy to Clipboard Toggle word wrap
quarkus.log.level=INFO
quarkus.log.category."org.hibernate".level=DEBUG

将日志级别设置为 DEBUG 以下时,还必须调整最小日志级别。此设置可以通过 quarkus.log.min-level 配置属性或每个类别进行全局应用:

Copy to Clipboard Toggle word wrap
quarkus.log.category."org.hibernate".min-level=TRACE

这会设置一个 floor 级别,用于 Quarkus 需要生成支持代码。构建时必须设置最小日志级别,以便 Quarkus 能够打开导致在不可用级别登录时优化机会。

来自原生执行的示例:

INFO 设置为最小日志级别会将较低级别检查(如 isTraceEnabled )设置为 false。这标识了像 if (logger.isDebug ())callMethod () 等代码,它将永远不会执行,并将其标记为"dead"。

警告

如果您在命令行中添加这些属性,请确保 " 字符被正确转义:

Copy to Clipboard Toggle word wrap
-Dquarkus.log.category.\"org.hibernate\".level=TRACE

所有潜在的属性都列在 日志记录配置参考 部分中。

1.4.1. 日志记录类别

日志记录会根据每个类别配置,每个类别都独立配置。对一个类别的配置将递归应用到所有子类别,除非有更具体的子类别配置。

所有日志记录类别的父级称为"root 类别"。作为最终父级,此类别可能包含针对所有其他类别的全局配置。这包括全局配置的处理程序和格式器。

例 1.1. 适用于所有类别的全局配置示例:

Copy to Clipboard Toggle word wrap
quarkus.log.handlers=con,mylog

quarkus.log.handler.console.con.enable=true
quarkus.log.handler.file.mylog.enable=true

在本例中,根类别配置为使用两个命名的处理程序: conmylog

例 1.2. 每个类别配置示例:

Copy to Clipboard Toggle word wrap
quarkus.log.category."org.apache.kafka.clients".level=INFO
quarkus.log.category."org.apache.kafka.common.utils".level=INFO

本例演示了如何在类别 org.apache.kafka.clientsorg.apache.kafka.common.utils 中配置最小日志级别。

如需更多信息,请参阅 日志记录配置参考

如果要为特定类别配置额外的内容,请创建一个名为 handler,如 quarkus.log.handler.[console|file|syslog].<your-handler-name> unset,并使用 quarkus.log.category.<my-category>.handlers 进行设置。

用例示例可能需要为日志消息使用不同的时间戳格式,这些消息被保存到一个文件,而不是用于其他处理程序的格式。

有关更多演示,请参阅 将指定 处理程序的输出附加到类别 示例。

属性名称default描述

quarkus.log.category."<category-name>".level

INFO [a]

用于配置名为 < category-name> 的类别的级别。引号是必需的。

quarkus.log.category."<category-name>".min-level

DEBUG

用于配置名为 < category-name> 的类别的最小日志记录级别。引号是必需的。

quarkus.log.category."<category-name>".use-parent-handlers

true

指定此日志记录器是否应该将其输出发送到其父日志记录器。

quarkus.log.category."<category-name>".handlers=[<handler>]

empty [b]

要附加到特定类别的处理程序的名称。

[a] 有些扩展可能会为某些类别定义自定义的默认日志级别,以默认减少日志通知。在配置中设置日志级别将覆盖任何扩展定义的日志级别。
[b] 默认情况下,配置的类别获得与根日志记录器上连接的相同处理程序。
注意

. 符号分隔配置属性中的特定部分。属性名称中的 quotes 用作保留类别规格所需的转义,如 quarkus.log.category."io.quarkus.smallrye.jwt".level=TRACE, 完整。

1.4.2. 根日志记录器配置

根日志记录器类别单独处理,并使用以下属性进行配置:

属性名称default描述

quarkus.log.level

INFO

每个日志类别的默认日志级别。

quarkus.log.min-level

DEBUG

每个日志类别的默认最小日志级别。

  • 如果给定日志记录器类别没有级别配置,则会检查父类别。
  • 如果没有为类别和任何父类别提供特定配置,则使用根日志记录器配置。
注意

虽然根日志记录器的处理程序通常通过 quarkus.log.consolequarkus.log.filequarkus.log.syslog 直接配置,但它可以使用 quarkus.log.handlers 属性为其附加额外的命名处理程序。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat, Inc.