- Залежнасці прывязкі Log4j2 і SLF4j
Каб прымусіць Log4j2 працаваць з SLF4J, нам трэба ўключыць наступныя 3 залежнасці.
log4j-slf4j-impl.jar – прывязка Log4j 2 SLF4J. Гэта дазваляе прыкладанням, закадзіраваным у SLF4J API, выкарыстоўваць 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</версія>
</залежнасць>
- Стварыце файл log4j2.xml у тэчцы рэсурсаў праекта
Прыклад з пракаткай файлаў і выкарыстаннем сістэмных зменных і зроблены для выкарыстання на серверы wildfly:
<?версія xml=”1.0″ кадзіроўка=”UTF-8″?>
<Узровень канфігурацыі=”${env:LOG_LEVEL}”>
<Aдадаткі>
<RollingFile name=”LogToFile” fileName=”${env:JBOSS_HOME}/standalone/log/xxx.log” filePattern=”${env:JBOSS_HOME}/standalone/log/xxx.log-%d{yyyy-MM-dd}”> <PatternLayout>
<template>[%-5level] %d{yyyy-MM-dd YY:hmm:ss.SSS} [%t] %c{1} – %msg%n </template> </PatternLayout>
<Палітыкі>
<TimeBasedTriggeringPolicy interval=”1″ modulate=”true” />
<OnStartupTriggeringPolicy />
</Policies> <!– Штодня будзе стварацца максімум 10 файлаў –>
<DefaultRolloverStrategy max=”20″>
<Выдаліць базавы шлях=”${env:JBOSS_HOME}/standalone/log/” maxDepth=”10″>
<!– Выдаліць усе файлы, старэйшыя за 30 дзён –>
<IfLastModified age=”30d” />
</Выдаліць>
</DefaultRolloverStrategy>
</RollingFile>
</Дадаткі>
<Лёгеры>
<!– пазбягайце дублікатаў часопісаў з additivity=false –>
<Logger name=”xxx-be” level=”${env:LOG_LEVEL}” additivity=”false”> <AppenderRef ref=”LogToFile”/>
</Легістратар >
<Каранёвы ўзровень=”${env:LOG_LEVEL}”>
<AppenderRef ref=”LogToFile”/>
</корань >
</Лесарубы>
</Канфігурацыя>
- log4j2.xml
- Выкарыстанне рэгістратара ў кодзе
імпартаваць org.apache.logging.log4j.Logger;
Рэгістратар = LogManager.getLogger(“xxx-be”);
logger.info(“patches”);
Мне спатрэбіўся цэлы дзень, каб гэта запрацавала. Спадзяюся, гэта дапаможа распрацоўшчыкам.

Пакінуць адказ