Chciałbym zastąpić standardowy mechanizm logowania w moim WildFly-8.x
z log4j2
.Jak uruchomić WildFly-8.x z log4j2 i slf4j
Mój pomysł zrobienia tego było dodanie następujących słoików jako moduły:
log4j-api-2.3.jar
log4j-core-2.3.jar
i dodanie module.xml
mieć rejestrator dostarczonego przez serwer.
Odkąd alredy używać slf4j
w mojej aplikacji, która zbudowana jest poprzez Maven, postanowiłem po prostu dodać następujące rzeczy do mojego pom.xml
na budowę mojego ucha plik
<!-- 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>
więc kilka pytań pozostaje:
1.) Czy potrzebuję dodatkowych zależności w moim jboss-deployment-structure.xml
, coś, co wygląda tak?
2.) Jak skonfigurować log4j2 w moim standalone-*.xml
? Domyślam się, że <loggers/>
i <handlers/>
będą działać tylko z wbudowanym systemem?
3.) Czy muszę podać fragment kodu pom.xml
powyżej w każdym module, w którym coś loguję (co jest prawie każdym modułem, w którym znajduje się klasa Java)?
I małe pytanie "cukierek": 4.) Jak skonfigurować log4j2 do kompresowania logów, tak jak to było zrobione z log4j (1) -extras?
do kompresji plików po prostu dodać rozszerzeniem .zip lub .gz do nazwy pliku dziennika i zostanie on skompresowany odpowiednio – alan7678