Я пытаюсь перенаправить журналы журналов Java Util Loglog в Log4j 2.1 с помощью birdge, предоставленного log4j-jul-2.1, но застрял в проблемах с classpath. У меня есть все log4j банки в доменах Lib каталога и используется следующий параметр виртуальной машины Java, как указано в log4j документации:log4j-jul-2.1 и Glasfish 3.1.2 использование
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
Проблема заключается в том, что мост LogManager обеспечивается log4j не доступен в Glassfish AppClassLoader во время запуска, и это вызывает исключение ниже. Я могу исправить это, изменив основной путь к серверу (предоставленный аргументом -cp), но это плохо. Есть ли какой-нибудь другой/лучший способ добиться этого? Просто размещение его в главной директории lib сервера также не работает, поскольку его снова не AppClassLoader.
Could not load Logmanager "org.apache.logging.log4j.jul.LogManager"
java.lang.ClassNotFoundException: org.apache.logging.log4j.jul.LogManager
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.util.logging.LogManager$1.run(LogManager.java:167)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.<clinit>(LogManager.java:157)
at java.util.logging.Logger.getLogger(Logger.java:287)
at com.sun.enterprise.glassfish.bootstrap.ASMainHelper.<clinit>(ASMainHelper.java:67)
at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:54)