У меня есть проект, в котором я пытаюсь заставить Apache Log4j2 работать для входа в разные файлы. Мой проект - приложение Spring, и у меня есть файл конфигурации log4j2.xml в структуре проекта, но когда я запускаю проект, либо как Spring Boot, либо как война с Tomcat, кажется, что регистрация не происходит, кроме стандартного вывода по умолчанию.
Структура моего проекта:
-src
--main
---resources
----static
----templates
----application.properties
----log4j2.xml
Мой файл конфигурации:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="TRACE" monitorInterval="1800">
<Properties>
<Property name="logPattern">%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${hostName} --- [%15.15t] %-40.40c{1.} : %m%n%ex</Property>
<Property name="log-path">${sys:catalina.home}/logs</Property>
<Property name="secondary_path">C:/TEMP/logs</Property>
</Properties>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="${logPattern}"/>
</Console>
<RollingFile name="FileAppenderInfo" fileName="${secondary_path}/stream-info.log" filePattern="${secondary_path}/stream-info-%d{yyyy-MM-dd}-%i.log" append="true" immediateFlush="true">
<PatternLayout>
<Pattern>${logPattern}</Pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="10MB"/>
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
<RollingFile name="FileAppenderError" fileName="${secondary_path}/stream-error.log" filePattern="${secondary_path}/stream-error-%d{yyyy-MM-dd}-%i.log" append="true" immediateFlush="true">
<PatternLayout>
<Pattern>${logPattern}</Pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="10MB"/>
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="InfoLogger" level="error">
<AppenderRef ref="FileAppenderInfo"/>
</Logger>
<Logger name="ErrorLogger" level="error">
<AppenderRef ref="FileAppenderError"/>
</Logger>
<Root level="error">
<AppenderRef ref="STDOUT"/>
</Root>
</Loggers>
</Configuration>
Я пытался найти решение, но не могу понять, в чем дело, я даже пытался создать новый проект и реализовать зависимости, файл XML и попытаться войти в код.
Мой код выглядит так:
private static final Logger log = LogManager.getLogger("InfoLogger");
log.info("POST HAS BEEN MADE");
Файл Pom:
<!-- Dependency for log4j2 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.11.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.11.1</version>
</dependency>
Я также пытался без использования тега версии.
Надеюсь, кто-нибудь может помочь
Спасибо