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.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow