我想在 Java EE 7 应用程序中使用 Log4j2 异步记录器。
这需要在类路径上使用 LMAX 中断器 3.0.0.jar 或更高版本。
我担心这会破坏与在 Java EE 容器中启动“用户”线程相关的规则。
log4j2 自动配置是否检测到 Jee 容器的存在?还是我需要通过 log4j2 ManagedExecutorService?在 WorkerPool 中使用?
我想在 Java EE 7 应用程序中使用 Log4j2 异步记录器。
这需要在类路径上使用 LMAX 中断器 3.0.0.jar 或更高版本。
我担心这会破坏与在 Java EE 容器中启动“用户”线程相关的规则。
log4j2 自动配置是否检测到 Jee 容器的存在?还是我需要通过 log4j2 ManagedExecutorService?在 WorkerPool 中使用?
您可能是对的,使用 Async Loggers(或 AsyncAppender,就此而言)违反了 J2EE 规则。目前,Log4j 2 创建了自己的 ExecutorService(调用Executors.newSingleThreadExecutor
)。
我建议您在Log4j 2 Jira上创建一个功能请求票证,以提议添加用户代码(或配置)以指定ManagedExecutorService
Disruptor 使用的功能。