1

不同的 EJB 是否可以在同一个容器上部署并同步工作,将它们的应用程序日志写入同一个 .log 文件而没有任何风险,条件是它们都使用相同的 log4j.xml 和相同的 FileAppender。

我确认它可以在我的桌面上运行,但是如果这些 EJB 处于高负载运行状态怎么办?我应该关注文件锁定或延迟问题吗?

真挚地,

4

1 回答 1

1

是的,同一个应用服务器实例中的多个 EJB 可以写入同一个 appender。它们是一个 JVM 的一部分,并且 log4j 是线程安全的。

确实,在高负载下您会遇到延迟;但这就是日志级别的用途。在重要级别上记录尽可能少的语句,在调试级别上保持详细。

共享相同的文件附加程序是可能的(大多数时候它似乎正在工作),但很危险,尤其是在设置滚动策略的情况下。您可能会以这种方式丢失日志,log4j 并不是为此而设计的。

于 2012-06-13T14:09:25.577 回答