Tag: cdi slf4j

在静态和非静态上下文中创建SLF4J记录器的开销是多少?

我总是使用以下模式构建(SLF4J)记录器: private static final Logger log = LoggerFactory.getLogger(MyClass.class); 到目前为止这已经奏效了,但我想知道static上下文在某些时候需要传递具体的类文字,而不是仅仅使用非静态记录器 private final Logger log = LoggerFactory.getLogger(getClass()); 这之前基本上已经问过(并回答过)LOG4J 记录器应该是私有静态还是非静态 和这里 记录器应该是最终的和静态的吗? 我意识到final基本上是强制性的,所以我想知道在非静态上下文中使用SLF4J的开销实际上有多高。 问: 使用是否有任何重大的实际开销 private final Logger log = LoggerFactory.getLogger(getClass()); 过度 private static final Logger log = LoggerFactory.getLogger(MyClass.class); 在普通 (网络)应用程序? (这里不需要“讨论”高端,重载的webapps) 注意,我最终计划使用更好的方法使用CDI来获得SLF4J记录器 @Inject private final Logger log; 如http://www.seamframework.org/Weld/PortableExtensionsPackage#H-TtLoggerttInjection所述 ,但我需要先了解记录器缓存。 子问题:甚至可以使用?: @Inject private static final Logger log; (刚开始用CDI开头)