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


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

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

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

当您将日志级别设置为低于 DEBUG 时,您还必须调整最小日志级别。此设置可以是全局的,使用 quarkus.log.min-level 配置属性或每个类别:

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

这会设置 Quarkus 需要为其生成支持代码的 floor 级别。构建时必须设置最小日志级别,以便 Quarkus 能够打开一项操作,以优化可以在不可用级别上登录的机会。

来自原生执行的示例:

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

警告

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

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

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

1.4.1. 日志记录类别

日志记录会根据每个类别进行配置,每个类别都独立配置。除非有更具体的子类别配置,否则类别的配置会以递归方式适用于所有子类别。

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

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

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

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

例 1.2. 一个 per-category 配置示例:

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

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

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

如果要为特定类别配置一些额外内容,请创建一个命名处理程序,如 quarkus.log.handler.[console|file|syslog].<your-handler-name>,并使用 quarkus.log.category.<my-category>.handlers 为该类别设置它。

示例用例可能需要对保存到文件(而不是用于其他处理程序的格式)的日志消息使用不同的时间戳格式。

有关进一步演示,请参阅 Attaching named handlers to a category example。

Expand
属性名称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] 有些扩展可能会为某些类别定义自定义的默认日志级别,以默认减少日志 noise。在配置中设置日志级别将覆盖任何扩展定义的日志级别。
[b] 默认情况下,配置的类别获取与根日志记录器上附加的处理程序相同的处理程序。
注意

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

1.4.2. 根日志记录器配置

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

Expand
属性名称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

© 2026 Red Hat
返回顶部