log4j2 Tutorial
Iniziare con log4j2
Ricerca…
Osservazioni
Questa sezione fornisce una panoramica su cosa sia log4j2 e perché uno sviluppatore potrebbe volerlo utilizzare.
Dovrebbe anche menzionare qualsiasi argomento di grandi dimensioni all'interno di log4j2 e collegarsi agli argomenti correlati. Poiché la documentazione per log4j2 è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.
Perché non Log4j 1.x?
Log4j 1.x è la fine della vita a partire dal 5 agosto 2015. [1] [2]. Apache Log4j 2 è il successore di Log4j 1.x; fornisce collegamenti per progetti che dipendono da Log4j 1.x, ma desiderano eseguire l'aggiornamento a Log4j 2. Oltre alla compatibilità con Log4j 1.x, viene fornita la compatibilità per le API SLF4J, Commons Logging e java.util.logging.
[1] https://logging.apache.org/log4j/1.2/
[2] https://blogs.apache.org/foundation/entry/apache_logging_services_project_announces
Installazione o configurazione
Questa sarebbe una configurazione di base in cui invieremo tutti i messaggi di log alla console e ad un file di log.
Iniziamo con le librerie. Userò Maven per quello:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.8.2</version>
</dependency>
In seguito scriveremo log4j2.properties (in questo caso userò un file delle proprietà). Lo inseriremo nel percorso di contesto, nel modo in cui dovrebbe essere nella cartella delle risorse (src / main / resources nella maggior parte dei casi)
name=PropertiesConfig
property.filename = logs
appenders = console, file
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
appender.file.type = File
appender.file.name = LOGFILE
appender.file.fileName=${filename}/propertieslogs.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
loggers=file
logger.file.name=com.es.form.studio
logger.file.level = debug
logger.file.appenderRefs = file
logger.file.appenderRef.file.ref = LOGFILE
rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
Per utilizzare questo esempio, è necessario modificare logger.file.name = com.es.form.studio in modo che sia indirizzato al pacchetto di propria scelta. Se non lo fai, il file non mostrerà alcun registro.