Как переопределить log4j.properties во время тестирования?
Я пытаюсь записать все сообщения DEBUG
на консоль во время тестирования в maven. Для этого я создал файл src/test/resources/log4j.properties
, который будет переопределять конфигурацию, которая у меня уже есть в src/main/resources/log4j.properties
. К сожалению, такого переопределения не происходит. Почему и как это исправить?
Ответы
Ответ 1
Он должен работать так, как есть, и он работает. Проблема в другом месте.
пс. У меня был беспорядок с регистраторами в моем пути к классам: jog4j, slf4j, logback (из других зависимостей). Насколько я понимаю, все они находятся в конфликте. Я еще не очистил этот беспорядок, и я до сих пор не знаю, как сделать все пакеты для использования одного средства ведения журнала и одной конфигурации.
Ответ 2
Переименуйте тестовый файл конфигурации, например. log4j-surefire.properties
и сконфигурируйте log4j, чтобы забрать его во время выполнения заказа:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.6</version>
<configuration>
<systemPropertyVariables>
<log4j.configuration>file:${project.build.testOutputDirectory}/log4j-surefire.properties</log4j.configuration>
</systemPropertyVariables>
</configuration>
</plugin>