23 java logging thread-safety thread-local slf4j
我可能有一个Dog类,它有一个跨多个线程共享的实例.我计划将SLF4J用于所有日志记录:
public class Dog {
private Logger logger = LoggerFactory.getLogger(Dog.class);
// ...etc.
}
Run Code Online (Sandbox Code Playgroud)
我的logger实例线程安全吗?为什么/为什么不呢?
Ste*_*n C 39
当然,每个人都假定一个Logger将是线程安全的.但是你需要查看外观背后的实现类的代码/ javadoc来绝对肯定.
具体实现:
(显然,这些是相应代码设计为线程安全的声明.总是存在错误.例如,Log4j 2跟踪器中当前存在一些开放的线程安全错误,尽管它看起来不像这些错误会直接影响您的示例代码.)