Как запустить WildFly-8.x с log4j2 и slf4j

Мне нравится заменить стандартный механизм каротажа на моем WildFly-8.x на log4j2.

Моя идея сделать это - добавить следующие банки как модули:

log4j-api-2.3.jar
log4j-core-2.3.jar

и добавить module.xml, чтобы иметь регистратор, предоставленный сервером.

Так как я использую slf4j в своем приложении, которое построено через Maven, я решил просто добавить следующие вещи в мой pom.xml для создания моего EAR файла

  <!-- versions are provided via private parent-pom -->
  <!-- slf4j-api -->
  <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <scope>provided</scope>
  </dependency>
  <!-- slf4j to log4j2, needed??? -->
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <scope>provided</scope>
  </dependency>
  <!-- log4j2 api, do I really need this??  -->
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <scope>provided</scope>
  </dependency>
  <!-- log4j2 api, do I really need this?? -->
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <scope>provided</scope>
  </dependency>

Итак, осталось несколько вопросов:

1.) Нужно ли мне дополнительные зависимости в моем jboss-deployment-structure.xml, что-то похожее на это?

[...]
<ear-subdeployment-isolated>false</ear-subdeployment-isolated>
<deployment>
  <dependencies>
    [...]
    <!-- name taken from my introduced module.xml -->
    <module name="org.apache.logging.log4j2" slot="main" export="true" />
    [...]
  </dependencies>
</deployment>

2.) Как настроить log4j2 в моем standalone-*.xml? Я думаю, что <loggers/> и <handlers/> будут работать только со встроенной системой?

3.) Нужно ли мне указывать фрагмент pom.xml выше в каждом модуле maven, где я что-то записываю (это почти каждый модуль, в котором находится класс java)?

И немного "конфетный" вопрос: 4.) Как настроить log4j2 для сжатия лог файлов, как это было сделано с помощью log4j (1) -extras?

Ответ 1

Я надеюсь, что эта ссылка поможет вам, она содержит альтернативную структуру ведения журнала для большинства AS

и для вашего вопроса 4

Как настроить log4j2 для сжатия лог файлов, как это было сделано с log4j (1) -extras?

вы можете настроить его, как показано ниже

filePattern="logs/app-%d{MM-dd-yyyy}.log.gz" 

если вы используете приложение RollingFile