log4j2 Samouczek
Rozpoczęcie pracy z log4j2
Szukaj…
Uwagi
Ta sekcja zawiera przegląd tego, czym jest log4j2 i dlaczego deweloper może chcieć z niego korzystać.
Powinien również wymieniać wszelkie duże tematy w log4j2 i zawierać linki do powiązanych tematów. Ponieważ Dokumentacja dla log4j2 jest nowa, może być konieczne utworzenie początkowych wersji tych pokrewnych tematów.
Dlaczego nie Log4j 1.x?
Log4j 1.x jest wycofany z użycia 5 sierpnia 2015 r. [1] [2]. Apache Log4j 2 jest następcą Log4j 1.x; zapewnia powiązania dla projektów zależnych od Log4j 1.x, ale które chcą uaktualnić do Log4j 2. Oprócz kompatybilności z Log4j 1.x, zapewnia się kompatybilność z interfejsami API SLF4J, Commons Logging i java.util.logging.
[1] https://logging.apache.org/log4j/1.2/
[2] https://blogs.apache.org/foundation/entry/apache_logging_services_project_announces
Instalacja lub konfiguracja
Byłaby to podstawowa konfiguracja, w której wyślemy wszystkie komunikaty dziennika do konsoli i pliku dziennika.
Zacznijmy od bibliotek. Użyje do tego maven:
<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>
Następnie napiszemy log4j2.properties (w tym przypadku użyję pliku właściwości). Umieścimy go w ścieżce kontekstu, w maven powinien on znajdować się w folderze zasobów (w większości przypadków src / main / resources)
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
Aby skorzystać z tego przykładu, musisz zmienić logger.file.name = com.es.form.studio, aby był on kierowany na wybrany pakiet. Jeśli tego nie zrobisz, plik nie wyświetli żadnych dzienników.