- Zależności powiązań Log4j2 i SLF4j
Aby Log4j2 współpracował z SLF4J, musimy uwzględnić następujące 3 zależności.
log4j-slf4j-impl.jar – powiązanie Log4j 2 SLF4J. Umożliwia aplikacjom zakodowanym w API SLF4J używanie Log4j2 jako implementacji.
log4j-api.jar – udostępnia komponenty adaptera wymagane dla realizatorów do stworzenia implementacji rejestrowania.
log4j-core.jar – podstawowe klasy implementacji Log4j.
Zależności Maven i Gradle można skopiować jak poniżej.
pom.xml
Zależność <>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<wersja>2.15.0</wersja> </zależność>
Zależność <>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<wersja>2.15.0</wersja>
</zależność> <zależność>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<wersja>2.15.0</wersja>
</zależność>
- Utwórz plik log4j2.xml w folderze zasobów projektu
Przykład z przewijaniem plików i używaniem zmiennych systemowych do użytku na serwerze Wildfly:
<?xml wersja=”1.0″ kodowanie=”UTF-8″?>
<Status konfiguracji=”${env:LOG_LEVEL}”>
<Dodatki>
<RollingFile name=”LogToFile” nazwapliku=”${env:JBOSS_HOME}/standalone/log/xxx.log” filePattern=”${env:JBOSS_HOME}/standalone/log/xxx.log-%d{yyyy-MM-dd}”> <PatternLayout>
<pattern>[%-5poziom] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} – %msg%n </pattern> </PatternLayout>
<Zasady>
<TimeBasedTriggeringPolicyinterwał=”1″ modulowany=”true” />
<OnStartupTriggeringPolicy />
</Policies> <!– Codziennie będzie tworzonych maksymalnie 10 plików –>
<DefaultRolloverStrategy max=”20″>
<Usuń basePath=”${env:JBOSS_HOME}/standalone/log/” maxDepth=”10″>
<!– Usuń wszystkie pliki starsze niż 30 dni –>
<IfLastModified wiek=”30d” />
</Usuń>
</Domyślna strategia najazdu>
</RollingFile>
</Dodatki>
<Loggery>
<!– unikaj duplikacji logów z additivity=false –>
<Logger name=”xxx-be” poziom=”${env:LOG_LEVEL}” additivity=”false”> <AppenderRef ref=”LogToFile”/>
</Logger>
<Poziom główny=”${env:LOG_LEVEL}”>
<AppenderRef ref=”LogToFile”/>
</Root>
</Loggery>
</Konfiguracja>
- log4j2.xml
- Używanie Loggera w kodzie
import org.apache.logging.log4j.Logger;
Rejestrator rejestrator = LogManager.getLogger(“xxx-be”);
logger.info(“rozpoczęto”);
Potrzebowałem całego dnia, aby to działało. Mam nadzieję, że pomoże to programistom.

Zostaw odpowiedź