Я работаю над приложением JEE, которое использует log4j2 для ведения журнала. Я пытаюсь развернуть его на Wildfly 15, но не могу заставить его правильно регистрироваться, заявляя
Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
Вот что я сделал:
- Я добавил log4j2-api.jar в качестве системного модуля в Wildfly (system/layers/base/org/apache/log4j2/main) с помощью простого файла module.xml.
- Я взял код с https://github.com/jboss-logging/log4j2-jboss-logmanager, создал JAR и добавил его в качестве системного модуля в Wildfly (system/layers/base/org/jboss/log4j2/logmanager/main) с файлом module.xml, который определяет предоставляемую службу. :
<provides>
<service name="org.apache.logging.log4j.spi.Provider">
<with-class name="org.jboss.logmanager.log4j.JBossProvider" />
</service>
</provides>
- Я добавил org.apache.log4j2 и org.jboss.log4j2.logmanager в качестве зависимостей к модулю org.jboss.logmanager, указав
services="export"
в последнем.
Мне известно о https://issues.redhat.com/browse/WFCORE-482, но я не могу сделать из этого правильных выводов.
Кто-нибудь может помочь или знает, как диагностировать дальше, что здесь происходит?
Для полной справки, файл module.xml для org.jboss.log4j2.logmanager выглядит следующим образом:
<module xmlns="urn:jboss:module:1.8" name="org.jboss.log4j2.logmanager">
<resources>
<resource-root path="log4j2-jboss-logmanager.jar"/>
</resources>
<dependencies>
<module name="org.apache.log4j2"/>
<module name="org.jboss.logmanager"/>
</dependencies>
<provides>
<service name="org.apache.logging.log4j.spi.Provider">
<with-class name="org.jboss.logmanager.log4j.JBossProvider" />
</service>
</provides>
</module>
хотя я пробовал ссылаться на org.jboss.logmanager как на зависимость от org.jboss.log4j2.logmanager и наоборот.
Module.xml для org.apache.log4j2 выглядит так:
<module xmlns="urn:jboss:module:1.1" name="org.apache.log4j2">
<resources>
<resource-root path="log4j-api.jar"/>
</resources>
</module>
module.xml
файлы? Они должны выглядеть примерно так: gitphub.com/diff-a20c1b8d1398b3f2b8d531a1d04fd8c1 / и github/wildjamez-pcore-p.com/wildjamez зафиксировать/. - person James R. Perkins   schedule 19.05.2020org.jboss.log4j2.logmanager
требуетorg.jboss.logmanager
, а не наоборот. - person James R. Perkins   schedule 19.05.2020