Java-konfigurera Log4j2 i ditt projekt

  1. Log4j2 och SLF4j bindande beroenden
    För att få Log4j2 att fungera med SLF4J måste vi inkludera följande 3 beroenden.
    log4j-slf4j-impl.jar – Log4j 2 SLF4J bindning. Det tillåter applikationer kodade till SLF4J API att använda Log4j2 som implementering.
    log4j-api.jar – tillhandahåller de adapterkomponenter som krävs för implementerare för att skapa en loggningsimplementering.
    log4j-core.jar – kärna Log4j Implementeringsklasser.
    Maven- och Gradle-beroendena kan kopieras enligt nedan.
    pom.xml

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

  1. Skapa fil log4j2.xml i mappen Projektresurser
    Exempel med filrullning och användning av systemvariabler och gjort för användning under wildfly-server:

<?xml version=”1.0″ encoding=”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}”>OZ>OZOZ>OZout
<pattern>[%-5level] %d{åååå-MM-dd HH:mm:ss.SSS} [%t] %c{1} – %msg%n </pattern> </PatternLayout>
<Policyer>
<TimeBasedTriggeringPolicy interval=”1″ modulate=”true” />
<OnStartupTriggeringPolicy />
</Policies> <!– Max 10 filer kommer att skapas varje dag –>
<DefaultRolloverStrategy max=”20″>
<Delete basePath=”${env:JBOSS_HOME}/fristående/log/” maxDepth=”10″>
<!– Ta bort alla filer äldre än 30 dagar –>
<IfLastModified age=”30d” />
</Ta bort >
</StandardRolloverStrategy>
</RollingFile>
</Bilag >
<Loggers>
<!– undvik duplicerade loggar med additivity=false –>
<Logger name=”xxx-be” level=”${env:LOG_LEVEL}” additivity=”false”> <AppenderRef ref=”LogToFile”/>
</Logger>
<Root level=”${env:LOG_LEVEL}”>
<AppenderRef ref=”LogToFile”/>
</Root>
</Loggers>
</Konfiguration >

  1. log4j2.xml
  2. Använder Logger in Code
    importera org.apache.logging.log4j.Logger;
    Logger logger = LogManager.getLogger(“xxx-be”);
    logger.info(“startade”);

Jag behövde en hel dag för att få det att fungera, jag hoppas att detta kommer att hjälpa utvecklare.

Lämna ett svar

Upptäck mer från Velislav Krastev Blog

Prenumerera nu för att fortsätta läsa och få tillgång till hela arkivet.

Fortsätt läsa