Java настройте Log4j2 в вашем проекте

  1. Зависимости привязки Log4j2 и SLF4j
    Чтобы Log4j2 работал с SLF4J, нам нужно включить следующие три зависимости.
    log4j-slf4j-impl.jar — привязка Log4j 2 SLF4J. Это позволяет приложениям, написанным на API SLF4J, использовать Log4j2 в качестве реализации.
    log4j-api.jar — предоставляет компоненты адаптера, необходимые разработчикам для создания реализации ведения журнала.
    log4j-core.jar — основные классы реализации Log4j.
    Зависимости Maven и Gradle можно скопировать, как показано ниже.
    pom.xml

<зависимость>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<версия>2.15.0</версия> </зависимость>
<зависимость>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<версия>2.15.0</версия>
</зависимость> <зависимость>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<версия>2.15.0</версия>
</зависимость>

  1. Создайте файл log4j2.xml в папке ресурсов вашего проекта.
    Пример с переворачиванием файлов и использованием системных переменных, предназначенный для использования на сервере wildfly:

<?xml версия=”1.0″ кодировка=”UTF-8″?>
<Configuration status=”${env:LOG_LEVEL}”>
<Appenders>
<RollingFile name=”LogToFile” fileName=”${env:JBOSS_HOME}/standalone/log/xxx.log” filePattern=”${env:JBOSS_HOME}/standalone/log/xxx.log-%d{yyyy-MM-dd}”> <PatternLayout>
<pattern>[%-5level] %d{гггг-ММ-дд ЧЧ:мм:сс.ССС} [%t] %c{1} – %msg%n </pattern> </PatternLayout>
<Политики>
<TimeBasedTriggeringPolicy period=”1″ modulate=”true” />
<OnStartupTriggeringPolicy />
</Policies> <! — Ежедневно будет создаваться максимум 10 файлов –>
<DefaultRolloverStrategy max=”20″>
<Delete basePath=”${env:JBOSS_HOME}/standalone/log/” maxDepth=”10″>
<!– Удалить все файлы старше 30 дней –>
<IfLastModified age=”30d” />
</Удалить>
</DefaultRolloverStrategy>
</RollingFile>
</Appenders>
<Леггеры>
<!– избегайте дублирования журналов с additivity=false –>
<Logger name=”xxx-be” level=”${env:LOG_LEVEL}” additivity=”false”> <AppenderRef ref=”LogToFile”/>
</Регистратор>
<Root level=”${env:LOG_LEVEL}”>
<AppenderRef ref=”LogToFile”/>
</Root>
</Легеры>
</Конфигурация>

  1. log4j2.xml
  2. Использование регистратора в коде
    импортировать org.apache.logging.log4j.Logger;
    Регистратор logger = LogManager.getLogger(“xxx-be”);
    logger.info(“запущен”);

Мне понадобился целый день, чтобы заставить его работать. Надеюсь, это поможет разработчикам.

Оставить ответ

Узнайте больше из блога Велислава Крастева

Подпишитесь сейчас, чтобы продолжить чтение и получить доступ к полному архиву.

Продолжить чтение