1.4. 配置日志级别、类别和格式
JBoss Logging 集成到红帽构建的 Quarkus 中,通过设置所有可用扩展的单一配置文件为 所有支持的日志记录 API 提供统一配置。要调整运行时日志记录,请修改 application.properties
文件。
有关如何将默认日志级别设置为 INFO
日志记录并包含 Hibernate DEBUG
日志的示例:
quarkus.log.level=INFO quarkus.log.category."org.hibernate".level=DEBUG
quarkus.log.level=INFO
quarkus.log.category."org.hibernate".level=DEBUG
将日志级别设置为 DEBUG
以下时,还必须调整最小日志级别。此设置可以通过 quarkus.log.min-level
配置属性或每个类别进行全局应用:
quarkus.log.category."org.hibernate".min-level=TRACE
quarkus.log.category."org.hibernate".min-level=TRACE
这会设置一个 floor 级别,用于 Quarkus 需要生成支持代码。构建时必须设置最小日志级别,以便 Quarkus 能够打开导致在不可用级别登录时优化机会。
来自原生执行的示例:
将 INFO
设置为最小日志级别会将较低级别检查(如 isTraceEnabled
)设置为 false
。这标识了像 if (logger.isDebug ())callMethod ()
等代码,它将永远不会执行,并将其标记为"dead"。
如果您在命令行中添加这些属性,请确保 "
字符被正确转义:
-Dquarkus.log.category.\"org.hibernate\".level=TRACE
-Dquarkus.log.category.\"org.hibernate\".level=TRACE
所有潜在的属性都列在 日志记录配置参考 部分中。
1.4.1. 日志记录类别
日志记录会根据每个类别配置,每个类别都独立配置。对一个类别的配置将递归应用到所有子类别,除非有更具体的子类别配置。
所有日志记录类别的父级称为"root 类别"。作为最终父级,此类别可能包含针对所有其他类别的全局配置。这包括全局配置的处理程序和格式器。
例 1.1. 适用于所有类别的全局配置示例:
quarkus.log.handlers=con,mylog quarkus.log.handler.console.con.enable=true quarkus.log.handler.file.mylog.enable=true
quarkus.log.handlers=con,mylog
quarkus.log.handler.console.con.enable=true
quarkus.log.handler.file.mylog.enable=true
在本例中,根类别配置为使用两个命名的处理程序: con
和 mylog
。
例 1.2. 每个类别配置示例:
quarkus.log.category."org.apache.kafka.clients".level=INFO quarkus.log.category."org.apache.kafka.common.utils".level=INFO
quarkus.log.category."org.apache.kafka.clients".level=INFO
quarkus.log.category."org.apache.kafka.common.utils".level=INFO
本例演示了如何在类别 org.apache.kafka.clients
和 org.apache.kafka.common.utils
中配置最小日志级别。
如需更多信息,请参阅 日志记录配置参考。
如果要为特定类别配置额外的内容,请创建一个名为 handler,如 quarkus.log.handler.[console|file|syslog].<your-handler-name> unset
,并使用 quarkus.log.category.<my-category>.handlers
进行设置。
用例示例可能需要为日志消息使用不同的时间戳格式,这些消息被保存到一个文件,而不是用于其他处理程序的格式。
有关更多演示,请参阅 将指定 处理程序的输出附加到类别 示例。
属性名称 | default | 描述 |
---|---|---|
|
|
用于配置名为 < |
|
|
用于配置名为 < |
|
| 指定此日志记录器是否应该将其输出发送到其父日志记录器。 |
|
| 要附加到特定类别的处理程序的名称。 |
[a]
有些扩展可能会为某些类别定义自定义的默认日志级别,以默认减少日志通知。在配置中设置日志级别将覆盖任何扩展定义的日志级别。
[b]
默认情况下,配置的类别获得与根日志记录器上连接的相同处理程序。
|
.
符号分隔配置属性中的特定部分。属性名称中的 quotes 用作保留类别规格所需的转义,如 quarkus.log.category."io.quarkus.smallrye.jwt".level=TRACE
, 完整。
1.4.2. 根日志记录器配置
根日志记录器类别单独处理,并使用以下属性进行配置:
属性名称 | default | 描述 |
---|---|---|
|
| 每个日志类别的默认日志级别。 |
|
| 每个日志类别的默认最小日志级别。 |
- 如果给定日志记录器类别没有级别配置,则会检查父类别。
- 如果没有为类别和任何父类别提供特定配置,则使用根日志记录器配置。
虽然根日志记录器的处理程序通常通过 quarkus.log.console
、quarkus.log.file
和 quarkus.log.syslog
直接配置,但它可以使用 quarkus.log.handlers
属性为其附加额外的命名处理程序。