Как переопределить log4j.properties во время тестирования? - PullRequest
16 голосов
/ 05 ноября 2010

Я пытаюсь записать все DEBUG сообщения на консоль во время тестирования в maven.Для этого я создал файл src/test/resources/log4j.properties, который переопределяет конфигурацию, которая у меня уже есть в src/main/resources/log4j.properties.К сожалению, такого переопределения не происходит.Почему и как это исправить?

Ответы [ 2 ]

26 голосов
/ 05 ноября 2010

Переименуйте ваш тестовый файл конфигурации, например, в. 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>
3 голосов
/ 05 ноября 2010

Должно работать как есть, и работает. Проблема в другом.

пс. У меня был беспорядок с регистраторами в моем classpath: jog4j, slf4j, logback (от других зависимостей). Как я понимаю, все они находятся в конфликте. Я еще не убрал этот беспорядок, и я все еще не знаю, как заставить все пакеты использовать одно средство ведения журнала и одну конфигурацию.

...