- Vazebné závislosti Log4j2 a SLF4j
Aby Log4j2 fungoval s SLF4J, musíme zahrnout následující 3 závislosti.
log4j-slf4j-impl.jar – Vazba Log4j 2 SLF4J. Umožňuje aplikacím kódovaným do SLF4J API používat Log4j2 jako implementaci.
log4j-api.jar – poskytuje komponenty adaptéru potřebné pro implementátory k vytvoření implementace protokolování.
log4j-core.jar – základní třídy implementace Log4j.
Závislosti Maven a Gradle lze zkopírovat, jak je uvedeno níže.
pom.xml
<závislost>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<verze>2.15.0</verze> </závislost>
<závislost>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<verze>2.15.0</verze>
</závislost> <závislost>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<verze>2.15.0</verze>
</závislost>
- Ve složce zdrojů projektu vytvořte soubor log4j2.xml
Příklad s rolováním souborů a používáním systémových proměnných a vytvořený pro použití na serveru wildfly:
<?xml verze=”1.0″ kódování=”UTF-8″?>
<Configuration status=”${env:LOG_LEVEL}”>
<Dodatky>
<RollingFile name=”LogToFile” fileName=”${env:JBOSS_HOME}/standalone/log/xxx.log” filePattern=”${env:JBOSS_HOME}/standalone/log/xxx.log-%d{yyyy-MM-ddZ{yyyy-MM-ddZ}
<pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} – %msg%n </pattern> </Pattern7ZYoutOZYX
<Policies>
<TimeBasedTriggeringPolicy interval=”1″ modulate=”true” />
<OnStartupTriggeringPolicy />
</Policies> <!– Každý den bude vytvořeno maximálně 10 souborů –>
<DefaultRolloverStrategy max=”20″>
<Delete basePath=”${env:JBOSS_HOME}/standalone/log/” maxDepth=”10″>
<!– Smazat všechny soubory starší než 30 dní –>
<IfLastModified Age=”30d” />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Appenders>
<Loggers>
<!– vyhnout se duplicitním protokolům s aditivitou=false –>
<Logger name=”xxx-be” level=”${env:LOG_LEVEL}” additivity=”false”> <AppenderRef ref=”LogToFile”/
</Logger>
<Root level=”${env:LOG_LEVEL}”>
<AppenderRef ref=”LogToFile”/>
</Root>
</Loggers>
</Konfigurace>
- log4j2.xml
- Použití Logger in Code
import org.apache.logging.log4j.Logger;
Logger logger = LogManager.getLogger(“xxx-be”);
logger.info(“zahájeno”);
Potřeboval jsem celý den, aby to fungovalo, doufám, že to pomůže vývojářům.

Zanechat odpověď