Поиск…


замечания

В этом разделе представлен обзор того, что такое log4j2, и почему разработчик может захотеть его использовать.

Следует также упомянуть о любых крупных предметах в log4j2 и ссылаться на связанные темы. Поскольку документация для log4j2 является новой, вам может потребоваться создать начальные версии этих связанных тем.

Почему не Log4j 1.x?

Log4j 1.x - это конец жизни с 5 августа 2015 года. [1] [2]. Apache Log4j 2 является преемником Log4j 1.x; предоставляет привязки для проектов, которые зависят от Log4j 1.x, но хотят перейти на Log4j 2. В дополнение к совместимости с Log4j 1.x совместимость обеспечивается для API SLF4J, Commons Logging и java.util.logging API.

[1] https://logging.apache.org/log4j/1.2/
[2] https://blogs.apache.org/foundation/entry/apache_logging_services_project_announces

Установка или настройка

Это будет базовая настройка, в которой мы отправим все сообщения журнала на консоль и в файл журнала.

Начнем с библиотек. Будет использовать 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>

Затем мы напишем log4j2.properties (в этом случае я буду использовать файл свойств). Мы поместим его в контекстный путь, в maven он должен находиться в папке ресурсов (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

Чтобы использовать этот пример, вам нужно будет изменить logger.file.name = com.es.form.studio, чтобы он нацелился на пакет по вашему выбору. Если вы этого не сделаете, файл не будет показывать никаких журналов.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow