Java nakonfigurujte Log4j2 ve vašem projektu

  1. 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>

  1. 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>

  1. log4j2.xml
  2. 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ěď