Java configura Log4j2 nel tuo progetto

  1. Dipendenze di associazione Log4j2 e SLF4j
    Per far funzionare Log4j2 con SLF4J, dobbiamo includere le seguenti 3 dipendenze.
    log4j-slf4j-impl.jar – Vincolante Log4j 2 SLF4J. Consente alle applicazioni codificate nell’API SLF4J di utilizzare Log4j2 come implementazione.
    log4j-api.jar – fornisce i componenti dell’adattatore necessari agli implementatori per creare un’implementazione di registrazione.
    log4j-core.jar: classi di implementazione principali di Log4j.
    Le dipendenze Maven e Gradle possono essere copiate come di seguito.
    pom.xml

Dipendenza <>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<versione>2.15.0</versione> </dipendenza>
Dipendenza <>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<versione>2.15.0</versione>
</dipendenza> <dipendenza>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<versione>2.15.0</versione>
</dipendenza>

  1. Crea il file log4j2.xml nella cartella delle risorse del progetto
    Esempio con rotazione di file e utilizzo di variabili di sistema e realizzato per l’uso con il server Wildfly:

<?versione xml=”codifica 1.0″=”UTF-8″?>
<Stato configurazione=”${env:LOG_LEVEL}”>
<Appenders>
<RollingFile name=”LogToFile” fileName=”${env:JBOSS_HOME}/standalone/log/xxx.log” filePattern=”${env:JBOSS_HOME}/standalone/log/xxx.log-%d{aaaa-MM-gg}”> <PatternLayout>
<modello>[%-5livello] %d{aaaa-MM-gg HH:mm:ss.SSS} [%t] %c{1} – %msg%n </modello> </PatternLayout>
<Politiche>
<TimeBasedTriggeringPolicy intervallo=”1″ modulate=”true” />
<OnStartupTriggeringPolicy />
</Policies> <!– Verranno creati massimo 10 file ogni giorno –>
<DefaultRolloverStrategy max=”20″>
<Elimina basePath=”${env:JBOSS_HOME}/standalone/log/” maxDepth=”10″>
<!– Elimina tutti i file più vecchi di 30 giorni –>
<IfLastModified età=”30d” />
</Elimina>
</Strategia rollover predefinita>
</RollingFile>
</Appenders>
<Logger>
<!– evita log duplicati con additività=false –>
<Logger name=”xxx-be” level=”${env:LOG_LEVEL}” additivity=”false”> <AppenderRef ref=”LogToFile”/>
</Logger>
<Livello radice=”${env:LOG_LEVEL}”>
<AppenderRef ref=”LogToFile”/>
</Root>
</Logger>
</Configurazione>

  1. log4j2.xml
  2. Utilizzo di Logger nel codice
    importa org.apache.logging.log4j.Logger;
    Logger logger = LogManager.getLogger(“xxx-be”);
    logger.info(“avviato”);

Avevo bisogno di un’intera giornata per farlo funzionare, spero che questo possa aiutare gli sviluppatori.

Lascia una risposta

Scopri di più dal blog di Velislav Krastev

Iscriviti ora per continuare a leggere e avere accesso all'archivio completo.

Continua a leggere