thread-safety - log4j 线程安全吗?

标签 thread-safety log4j

我有以下问题。我们在托管在同一 GlassFish 服务器上的两个项目中使用 log4j。每个项目都有内部 log4j.properties 文件,该文件指向基于不同目录的文件(让我们将它们命名为 Project1 Project2 )。

现在,由于某些不清楚的原因,有时第一个项目的信息消息会写入 Project2 日志文件,反之亦然。我检查了两个项目的 log4j.properties 文件,它们中没有任何内容指向另一个项目的日志。

怀疑是 log4j 实际上不是线程安全的,因此如果两个用户同时在两个系统中工作,记录器的消息可能会混合。这种怀疑是否正确?

最佳答案

是的,log4j 是线程安全的:

Yes, log4j is thread-safe. Log4j components are designed to be used in heavily multithreaded systems.



Ref

您所描述的听起来更像是配置错误,而不是跨进程/线程问题。

关于thread-safety - log4j 线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8652288/

相关文章:

java - hashmap的线程安全更新

c# - 此线程使用此 ConcurrentDictionary 和 AddOrUpdate 方法是否安全?

c# - 尝试获取组合框的值时出现 "Cross-thread operation is not valid"异常

log4j - Hadoop 启用日志记录

multithreading - 在多线程函数中声明后不久释放指针

c++ - 这段代码是线程安全的吗?

java - log4j 将所有日志输出定向到标准输出,即使它不应该

grails - 如何将Grails Log4J设置为仅记录来自应用程序的信息级别

java - log4j V2 中 log4j.properties 的内容并格式化记录器输出(例如添加时间戳)

java - 更改 log4j.properties 的位置