记录器应该是最终的和静态的吗?
可以从许multithreading访问类。 在这种情况下必须是记录器也是最终的和静态的吗? 谢谢。
所有主要的java日志包( java.util.logging
, log4j
等)都是同步的并且是线程安全的。 即使从多个线程调用类,每个类的private final static
记录器的标准模式也很好。
是的,记录器应该是静态的和最终的。 也最好是私人的。 每个类只需要一个记录器实例,除非您要动态更改日志首选项,否则最好将其设置为final。
记录器是线程安全的,您不必担心线程。
使记录器最终和/或静态不会以任何方式影响使用记录器的线程安全性。 如果从多个线程使用记录器实例,则确保使用线程安全记录器。
通常,记录器应该是私有静态final,但不要认为这使它成为线程安全的。 最常见的日志记录框架是线程安全的,所以如果你使用其中一个,你应该是好的。