1.2.3. 注入配置的日志记录器


使用 @Inject 注释配置的 org.jboss.logging.Logger 日志记录器实例的注入是添加应用程序日志记录器的替代选择,但仅适用于 CDI Bean。

您可以使用 @Inject Logger 日志,其中日志记录器以您注入的类命名,或使用 @Inject @LoggerName ("…​") Logger 日志,其中日志记录器将接收指定的名称。注入后,您可以使用 log 对象来调用日志记录方法。

两种不同类型的日志记录器注入示例:

package com.example;

import org.jboss.logging.Logger;

@ApplicationScoped
class SimpleBean {

   @Inject
   Logger log; 
1


   @LoggerName("foo")
   Logger fooLog; 
2


   public void ping() {
     log.info("Simple!");
     fooLog.info("Goes to _foo_ logger!");
   }
}

1
声明类的完全限定类名称(FQCN)用作日志记录器名称,例如 org.jboss.logging.Logger.getLogger.getLogger (SimpleBean.class)
2
在本例中,名称 foo 用作日志记录器名称,例如 org.jboss.logging.Logger.getLogger ("foo")
注意

日志记录器实例在内部缓存。因此,当将日志记录器注入 @RequestScoped bean 时,它对所有 bean 实例共享,以避免与日志记录器实例化关联的性能损失。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部