Подтвердить что ты не робот

Как показать вывод log4j в resprire test resports

Когда тест завершился неудачно в maven, в файлах xml файлов отчета о проверке подлинности в target/surefire-reports/TEST-<test-name>.xml отображается только стандартный вывод System.output или стандартная ошибка System.err

Когда я использую jdk java.util.logging.Logger все записи ведения журнала в стандартной ошибке <system-err> tag, но не отображается, когда я использую log4j.

Журналирование с помощью log4j отлично работает через FileAppender и ConsoleAppender. Он отображается в полном выпуске консоли, но не в отдельных файлах отчетов теста.

  • Могу ли я настроить log4j для перенаправления вывода на System.out, чтобы он отображался в surefire rerports?
  • Могу ли я сказать, что верность также покажет журнал регистрации log4j?
4b9b3361

Ответ 1

Обновите версию плагина surefire.

Используя версию 2.9, вывод log4j появляется в <system-out> при использовании ConsoleAppender

Ответ 2

  • Вариант один:

    Для стандартного ведения журнала (System.out/System.err) вы можете получить следующий вывод:

        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.8.1</version>
    
            <configuration>
                <redirectTestOutputToFile>true</redirectTestOutputToFile>
            </configuration>
        </plugin>
    

    Это будет генерировать выходные файлы для каждого из тестов.

  • Вариант второй:

    Для конфигурации log4j вы можете создать пользовательский файл log4j.xml/log4j.properties и просто поместить его под src/test/resources.