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