【发布时间】:2015-10-20 13:21:43
【问题描述】:
我正在将 EAR 应用程序从 Log4J 1.2.17 迁移到 Log4J2 2.4。请在 EAR 结构下方找到。
EAR
-- APPLICATION JAR 1 (contains custom plugin)
-- APPLICATION JAR 2
-- APPLICATION JAR 3 (contains custom plugin)
-- APPLICATION JAR 4
-- APPLICATION WAR 1
-- APPLICATION WAR 2
-- APPLICATION WAR 3
-- OTHER THIRD PARTY APIs
-- lib/log4j-api-2.4.jar
-- lib/log4j-core-2.4.jar
-- lib/log4j-jcl-2.4.jar
-- lib/log4j-web-2.4.1.jar
-- META-INF/log4j2.xml
-- META-INF/MANIFEST.MF (contains all jars in class-path entry)
所有 jar 中的自定义插件类都在同一个包中 - com.test.it.logging。
PFB 初始化代码。
-
添加自定义插件包。
PluginManager.addPackage("com.test,it.logging");
使用 log4j2.xml 初始化日志配置。
String path = "path/log4j2.xml";
System.setProperty("log4j.configurationFile", path);
未检测到任何已定义的自定义插件,我尝试了所有可用于初始化 log4j2.xml 和插件初始化的组合,但没有任何效果。
当我尝试了所有的排列和组合时,它让我感觉自定义插件根本无法在 EAR 中运行。这是 log4j2(版本:2.4)中的 BUG 吗?如果不是,那么请指导我如何在 EAR 中定义包含自定义插件的日志记录配置,其中包含分散在 EAR 中许多 jar 中的自定义插件?
谁能告诉我如何配置
另外,PFB 我的问题也发布在 stackoverflow 上。
Custom plugin not getting detected in EAR with log4j2 API
我正在使用 Wildfly 8.2.0-Final AS 和 maven 来构建 EAR。
只需添加一条注释,我总是在包含自定义插件的 Jars 中找到 Log4JPlugins.dat 文件,而不管我尝试检测插件的选项如何。
您的回复对我来说非常重要,谢谢。
【问题讨论】: