Как переопределить 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>