Использование log4j с JBoss 7.1

Как я могу использовать log4j с JBoss 7.1?

У меня есть log4j-1.2.16.jar в папке WebContent/WEB-INF/lib. Когда я выводя результат Logger.getRootLogger().getClass().toString(), я получаю class org.jboss.logmanager.log4j.BridgeLogger, что неверно.

Если я добавлю Dependencies: org.apache.commons.logging в свой файл MANIFEST.MF, я получаю тот же результат.

Это приводит к тому, что мой файл log4j.properties(который я создал unter WEB-INF/classes) игнорируется.

Ответ 1

Скоро появится способ, которым будет работать только для вас, но в настоящее время вам нужно исключить зависимость log4j от вашего развертывания. Вам также необходимо вручную вызвать PropertyConfigurator.configure() для загрузки файла свойств.

Следующий файл (jboss-deployment-structure.xml) должен содержать следующее:

<jboss-deployment-structure>
    <deployment>
        <!-- Exclusions allow you to prevent the server from automatically adding some dependencies -->
        <exclusions>
            <module name="org.apache.log4j" />
        </exclusions>
    </deployment>
</jboss-deployment-structure>

Затем добавление, включающее вашу собственную версию log4j в каталог WEB-INF/lib, должно работать так, как вы ожидаете.