1.2.2. 简化的日志记录


Quarkus 简化了日志记录功能,方法是将日志记录器字段添加到使用 io.quarkus.logging.Log 的类中。这消除了重复样板代码的需求,并增强了日志记录设置便利。

使用静态方法调用简化日志的示例:

package com.example;

import io.quarkus.logging.Log; 
1


class MyService { 
2

    public void doSomething() {
        Log.info("Simple!"); 
3

    }
}

1
io.quarkus.logging.Log 类包含与 JBoss Logging 相同的方法,但它们 是静态的
2
请注意,该类不会声明 logger 字段。这是因为在应用程序构建过程中,在使用 Log API 的每个类中会自动创建 私有静态最终 org.jboss.logging.Logger 字段。调用 Log 方法的类的完全限定名称用作日志记录器名称。在本例中,日志记录器名称为 com.example.MyService
3
最后,所有对 Log 方法的调用都会被重写为应用构建过程中对 logger 字段的常规 JBoss Logging 调用。
警告

仅在应用程序类中使用 Log API,而不是在外部依赖项中使用。 构建时未由 Quarkus 处理的日志方法调用将导致异常。

在扩展中使用 io.quarkus.logging.Log

虽然 Log API 简化了应用程序类的日志记录,但不建议在扩展模块或外部依赖项中使用。

请考虑以下事项:

  • io.quarkus.logging.Log 依赖于构建时发生的 Quarkus 字节代码转换。
  • 在扩展模块中,只有在模块包含 Jandex 索引时,日志 才能正常工作。但是,此行为不受支持,可能会导致不可靠的日志记录。

    对于扩展开发,请使用 org.jboss.logging.Logger.getLogger (String) 而不是 io.quarkus.logging.Log

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部