Java-konfigurere Log4j2 i prosjektet ditt

  1. Log4j2 og SLF4j bindende avhengigheter
    For å få Log4j2 til å fungere med SLF4J, må vi inkludere følgende 3 avhengigheter.
    log4j-slf4j-impl.jar – Log4j 2 SLF4J binding. Den lar applikasjoner kodet til SLF4J API bruke Log4j2 som implementering.
    log4j-api.jar – gir adapterkomponentene som kreves for implementere for å lage en loggimplementering.
    log4j-core.jar – kjerne Log4j Implementeringsklasser.
    Maven- og Gradle-avhengighetene kan kopieres som nedenfor.
    pom.xml

<avhengighet>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<versjon>2.15.0</versjon> </avhengighet>
<avhengighet>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<versjon>2.15.0</versjon>
</avhengighet> <avhengighet>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<versjon>2.15.0</versjon>
</avhengighet>

  1. Opprett fil log4j2.xml i mappen Project resources
    Eksempel med filrulling og bruk av systemvariabler og laget for bruk under wildfly-server:

<?xml versjon=”1.0″ koding=”UTF-8″?>
<Configuration status=”${env:LOG_LEVEL}”>
<Aappenders>
<RollingFile name=”LogToFile” fileName=”${env:JBOSS_HOME}/standalone/log/xxx.log” filePattern=”${env:JBOSS_HOME}/standalone/log/xxx.log-%d{yyyy-MM-dd}”Z${env:JBOSS_HOME}/standalone/log/xxx.log” ut
<pattern>[%-5level] %d{åååå-MM-dd TT:mm:ss.SSS} [%t] %c{1} – %msg%n </pattern> </PatternX6out
<Retningslinjer>
<TimeBasedTriggeringPolicy interval=”1″ modulere=”true” />
<OnStartupTriggeringPolicy />
</Retningslinjer> <!– Maks 10 filer vil bli opprettet hver dag –>
<DefaultRolloverStrategy max=”20″>
<Delete basePath=”${env:JBOSS_HOME}/standalone/log/” maxDepth=”10″>
<!– Slett alle filer eldre enn 30 dager –>
<IfLastModified age=”30d” />
</Slett >
</StandardRollover Strategi>
</RollingFile>
</vedlegg >
<Loggere>
<!– unngå duplikatlogger med additivitet=false –>
<Logger name=”xxx-be” level=”${env:LOG_LEVEL}” additivity=”false”> <AppenderRef ref=OZY0Z1ZOZY1
</Logger>
<Root level=”${env:LOG_LEVEL}”>
<AppenderRef=”LogToFile”/>
</Root>
</Loggere>
</Konfigurasjon >

  1. log4j2.xml
  2. Bruke innloggingskode
    import org.apache.logging.log4j.Logger;
    Logger logger = LogManager.getLogger(“xxx-be”);
    logger.info(“startet”);

Jeg trengte hele dagen for å få det til å fungere, jeg håper dette vil hjelpe utviklere.

Legg igjen et svar