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
这会设置 Quarkus 需要为其生成支持代码的 floor 级别。构建时必须设置最小日志级别,以便 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=console,mylog
quarkus.log.handlers=console,mylog
在本例中,根类别配置为使用两个处理程序: console 和 mylog。
例 1.2. 一个 per-category 配置示例:
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
如需更多信息,请参阅 日志记录配置参考。
如果要为特定类别配置一些额外内容,请创建一个命名处理程序,如 quarkus.log.handler.[console|file|syslog].<your-handler-name>,并使用 quarkus.log.category.<my-category>.handlers 为该类别设置它。
示例用例可能需要对保存到文件(而不是用于其他处理程序的格式)的日志消息使用不同的时间戳格式。
有关进一步演示,请参阅 Attaching named handlers to a category example。
| 属性名称 | default | 描述 |
|---|---|---|
|
|
|
配置名为 < |
|
|
|
配置名为 < |
|
|
| 指定此日志记录器是否应该将其输出发送到其父日志记录器。 |
|
|
| 要附加到特定类别的处理程序的名称。 |
[a]
有些扩展可能会为某些类别定义自定义的默认日志级别,以默认减少日志 noise。在配置中设置日志级别将覆盖任何扩展定义的日志级别。
[b]
默认情况下,配置的类别获取与根日志记录器上附加的处理程序相同的处理程序。
| ||
. 符号分隔配置属性中的特定部分。属性名称中的引号用作所需的转义来保持类别规格,如 quarkus.log.category."io.quarkus.smallrye.jwt".level=TRACE, intact。
1.4.2. 根日志记录器配置 复制链接链接已复制到粘贴板!
根日志记录器类别是单独处理的,并使用以下属性进行配置:
| 属性名称 | default | 描述 |
|---|---|---|
|
|
| 每个日志类别的默认日志级别。 |
|
|
| 每个日志类别的默认最小日志级别。 |
- 如果给定日志记录器类别不存在级别配置,则会检查父类别。
- 如果没有为类别及其任何父类别提供特定配置,则使用根日志记录器配置。
虽然根日志记录器的处理程序通常通过 quarkus.log.console、quarkus.log.file 和 quarkus.log.syslog 直接配置,但它无法使用 quarkus.log.handlers 属性附加到它。