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;
@LoggerName("foo")
Logger fooLog;
public void ping() {
log.info("Simple!");
fooLog.info("Goes to _foo_ logger!");
}
}
注意
日志记录器实例在内部缓存。因此,当将日志记录器注入 @RequestScoped bean 时,它对所有 bean 实例共享,以避免与日志记录器实例化关联的性能损失。