Как установить уровень журнала для Дженкинса в тестах плагина

#jenkins #jenkins-plugins

#дженкинс #jenkins-плагины

Вопрос:

Я работаю над плагином Дженкинса «Рабочий процесс-длительная задача-шаг» и я хочу отладить один из тестов этого плагина. Чтобы понять проблему, мне нужно посмотреть журналы Jenkins. По умолчанию во время тестов отображаются журналы уровня INFO , но мне нужен FINE уровень.

Как отобразить все возможные журналы для внутреннего процесса Jenkins во время mvn test команды?

Я пытался запускать тесты, подобные mvn -Djava.util.logging.loglevel=FINEST test но эта опция изменяет уровень журнала для самого теста, но не для внутреннего процесса Jenkins. Я имею в виду, что если я напишу что-то вроде LOGGER.log(Level.FINE, "Hello world"); в теле моего теста — это будет показано, но не будут отображаться журналы с FINE уровнем процесса Jenkins, запущенного моим тестом.

Комментарии:

1. Если вы обнаружите, что этот ответ решает вашу проблему, пожалуйста, отметьте как «Принято» (отметьте галочкой). Если вы нашли это полезным, пожалуйста, поддержите.

Ответ №1:

Я думаю, вы ищете ${JENKINS_URL}/log/levels

Документация: Конфигурация регистратора

Также смотрите: Просмотр журналов

Комментарии:

1. Спасибо dwnvote, через 2 года после предоставления ответа! Также не видел OP в течение 2 лет, и OP не смог потрудиться проголосовать / принять или прокомментировать. Я достаточно уверен, что это потому, что весь ответ заключается в том, чтобы направить OP к очень подробной документации, которая решает его проблему. Добавить нечего умного или проницательного. Воспроизводить документацию, чтобы мой ответ «стоял сам по себе», бессмысленно, поскольку теперь мне нужно будет поддерживать свой ответ вечно по мере изменения документации / продукта. -2 в моей мотивации вносить больший вклад.

Ответ №2:

В вашем тесте добавьте что-то вроде следующего:

     @Rule
    public LoggerRule logs = new LoggerRule()
            .recordPackage(YourClass.class, Level.FINE)
  

LoggerRule в конечном счете — это то, что вы хотели