SLF4J是否是线程安全的?

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跟踪器当前存在一些开放的线程安全错误,尽管它看起来不像这些错误会直接影响您的示例代码.)