2013-04-18 2 views
0

Я знаю, что на эту тему есть много сообщений, но я не нахожу их полезными или релевантными.JBoss AS 6 и Log4j

У меня есть простое требование. Я перехожу от JBoss AS 4.0.4 к JBoss AS 6. В моей среде 4.0.4 у меня есть log4j.xml в папке server/myconfig/conf и log4j.jar в сервере/myconfig/lib. Я понимаю, что JBoss AS 6 изменился на собственную систему ведения журнала. Мы сильно зависим от log4j, и изменение нецелесообразно. Я видел много сообщений, говорящих о пакете log4j jar и файле log4j.xml в вашем приложении. У меня есть десятки флагов и военных файлов в развертывании и lib. Буду ли я серьезно ожидать, чтобы упаковать log4j.jar и log4j.xml во все из них? Надеюсь, что нет, может быть, установка -Djboss.as.logging.per-deployment = false поможет? Но я все еще вижу, что люди говорят, чтобы положить log4j.jar и log4j.xml в файлы уха/войны даже с этим набором.

Если кто-то может рассказать мне, как я могу подражать моему 4.0.4, настройте, пожалуйста.

Спасибо, Пол

+0

вы на самом деле пытались развернув log4j банку отдельно, только .jar.Я бы подумал, что это сработает, поскольку «JBossAS6 по умолчанию использует общие домены CL aka« big-ball-o-mud »». ([источник] (https://community.jboss.org/thread/167745)) – eis

+0

@eis Да, у меня log4j.jar на сервере//lib. У меня есть log4j.xml в сервере//conf и определил файл appender с именем файла serverX.log, но файл, который появляется, является server.log. Таким образом, он использует собственное ведение журнала JBoss, как определено в (предположим) сервере/deploy/jboss-logging.xml. – user265330

+0

Это не совсем то, что я имел в виду. Если у вас это в сервере/lib, вы используете его из общего пути класса. Как его использовать в качестве развертывания? – eis

ответ

0

Я думаю, что нет никакой необходимости, чтобы упаковать log4j банку внутри вашего приложения.

ли приведенные ниже вещи:

1.) Установите следующий параметр в Standalone.conf.bat файл набора «JAVA_OPTS =% JAVA_OPTS% -Dorg.jboss.as.logging.per-развертывание = ложь

2.) сделать один модуль для log4j. в папке модулей для log4j. для справки вы можете проверить другие папки, уже есть.

3.) Сделайте один JBoss-развертывания-structure.xml место его внутри папка web-inf. Файл будет содержать нижеуказанную вещь

<jboss-deployment-structure> 
    <deployment> 
     <include> 
      <module name="org.apache.log4j" /> 
     </include> 
    </deployment> 
</jboss-deployment-structure> 

Он будет содержать банку log4j в вашем приложении.

+0

спасибо, что нашли время, чтобы ответить. Я не знаю, что такое Standalone.conf.bat (или его эквивалент Linux, так как это платформа, на которой я включен). Но в моем стартовом скрипте jboss я уже установил -Dorg.jboss.as.logging.per-deployment = false. Поэтому я думаю, что у меня есть ваш шаг (1). Что касается этапа (2), я не знаю, что вы подразумеваете под папкой «modules». Насколько мне известно, установка Jboss не имеет такой папки. Не могли бы вы быть достаточно любезны, чтобы подробно рассказать о том, что вы подразумеваете под шагами (2) и (3). Спасибо. – user265330

+0

Как вы установили jboss в среду linux. Поэтому перейдите к вашему $ JBOSS_HOME, он должен содержать папку с модулями. –

+0

Я считаю, что вы говорите о JBoss 7. Я использую JBoss 6.1. – user265330

0

Я использую Log4J на Jboss 6.1 без проблем.

Никогда не должен был включать банку Log4J куда угодно, кажется, включен (проверяя это, я нашел его под client/lib).

Единственное, что мне нужно было сделать, это объединить мою конфигурацию Log4J в server/<config>/deploy/jboss-logging.xml (макет очень похож на log4j.xml).

После этого я просто использую org.apache.log4j.Logger внутри своих классов, и все работает так, как ожидалось.

+0

Как вы использовали Logger в Java Side? – aProgrammer

0

JBoss автоматически внедряет API для log4J 1.2, SLF4J, common-logging и java.util.logging. Do NOT пакет с приложением.

Вы можете добавить конфигурацию ведения журнала в: serverDirectory \ standalone \ configuration \ standalone.xml (или в зависимости от того, какую конфигурацию вы решите использовать).

Ниже приводится раздел, чтобы добавить конфигурацию протоколирования (JBoss EAP 6):

<subsystem xmlns="urn:jboss:domain:logging:1.3"> 
    <root-logger> 
     <level name="INFO"/> 
     <handlers> 
      <handler name="CONSOLE"/> 
      <handler name="FILE"/> 
     </handlers> 
    </root-logger> 
</subsystem> 
+0

Этот вопрос предназначен для JBoss AS6, а не EAP6. – gustavohenke

Смежные вопросы