第 3 章 设置运行时配置


您可以在 application.properties 文件中配置日志级别和日志记录类别设置。

日志记录类别是分级的。当您为类别设置日志级别时,配置会应用到该类别的所有子类别。

有两个日志级别设置:日志级别和最低日志级别。默认日志记录级别为 INFO,默认的最小日志记录级别为 DEBUG。您可以使用 quarkus.log.levelquarkus.log.min-level 属性全局调整,或者按类别调整。

当设置最低日志级别下的日志级别时,还必须调整最小日志级别。否则,最低日志级别的值会覆盖日志级别。

过量日志记录对性能有影响。您可以调整最小日志级别,以仅收集应用程序的相关数据。减少日志卷可能会优化内存用量并改进应用程序的性能。例如,在原生执行中,最小级别检查(即 TraceEnabled)可以被折叠为 false,这会导致死代码删除。

流程

  • application.properties 文件中配置日志记录:

    src/main/resources/application.properties

    <configuration_key>=<value>
    Copy to Clipboard Toggle word wrap

    以下示例演示了如何将默认日志级别设置为 INFO 日志记录,并包含 Hibernate DEBUG 日志:

    src/main/resources/application.properties

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

    注意

    当您通过命令行设置配置属性时,请确保转义 "。例如 -Dquarkus.log.category.\"org.hibernate\".level=TRACE

3.1. 配置日志记录格式

Quarkus 使用基于模式的日志格式器来生成人类可读的文本日志。日志条目显示时间戳、日志记录级别、类名称、线程 ID 和消息。您可以使用专用配置属性自定义每个日志处理程序的格式。

先决条件

  • 具有 Quarkus Maven 项目。

流程

  • quarkus.log.console.format 设置一个值来配置控制台处理程序:

    src/main/resources/application.properties

    quarkus.log.console.format=<logging_format_string>
    Copy to Clipboard Toggle word wrap

    src/main/resources/application.properties

    quarkus.log.console.format=%d{HH:mm:ss} %-5p [%c{2.}] (%t) %s%e%n
    Copy to Clipboard Toggle word wrap

    此配置会产生以下日志消息格式:

    14:11:07 INFO  [ExampleResource] (executor-thread-199) Hello
    Copy to Clipboard Toggle word wrap

3.1.1. 日志记录格式字符串

下表显示了可用于配置日志消息格式的日志记录格式符号。

Expand
表 3.1. 支持的日志格式符号
符号概述描述

%%

%

一个简单的 % 字符。

%c

类别

类别名称

%C

源类

源类名称[a]

%d{xxx}

Date

给定日期格式字符串的日期,其遵循 java.text.SimpleDateFormat

%e

例外

异常堆栈追踪

%F

源文件

源文件名 [a]

%h

主机名

系统简单主机名

%H

合格的主机名

系统的完全限定主机名。根据操作系统配置,它可能与简单主机名相同。

%i

进程 ID

当前进程 PID

%l

源位置

源位置(源文件名、行号、类名称和方法名称) [a]

%L

源行

源行号 [a]

%m

完整消息

包含异常追踪的日志消息

%M

源方法

源方法名称 [a]

%n

Newline

特定于平台的行分隔符字符串

%N

进程名称

当前进程的名称

%p

级别

消息的日志记录级别

%r

相对时间

从应用程序日志开始的相对时间(毫秒)

%s

简单消息

没有异常追踪的日志消息

%t

线程名称

线程名称

%t{id}

线程 ID

线程 ID

%z{<zone name>}

时区

输出的时区,格式为 < zone name&gt;

%X{<MDC property name>}

映射关联上下文值

来自 Mapped mailboxs 上下文的值

%X

映射的过期上下文值

来自 Mapped mailboxs 上下文的所有值,格式为 {property.key=property.value}

%x

嵌套的过期上下文值

来自 Nested mailboxs 上下文的所有值,格式为 {value1.value2}

[a] 检查调用者信息的格式序列可能会影响性能。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部