我正在將EAR應用程序從Log4J 1.2.17
遷移到Log4J2 2.4
。請在下面找到EAR結構。Log4j2自定義插件無法在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)
所有瓶子中的自定義插件類都在同一個包中 - 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我的問題張貼在計算器上是相同的。
Custom plugin not getting detected in EAR with log4j2 API
我使用Wildfly 8.2.0決賽AS和Maven構建EAR。
只要添加一個註釋,我總是在包含自定義插件的Jars中找到Log4JPlugins.dat
文件,而不管我嘗試關於檢測插件的選項。
您的回覆對我來說非常重要,謝謝。