Spring Boot Test - Уменьшить вывод консоли
Мы активно используем Spring Boot 1.5.8, и, как я вижу, мы не указали конкретную структуру ведения журналов. Я отвечаю за тесты JUnit как младший разработчик. У нас есть около 17'000 юнит-тестов. Когда я запускаю много тестов, IntelliJ не может или имеет проблемы с производительностью при обработке вывода на консоль. И я дал IntelliJ много сил...
Теперь я поправил Log.LEVEL
в application.yml
в WARN
, который работает отлично. Но затем я попытался избавиться от вывода HTTP-ответа и запроса в консоли. Но даже когда я выключаю запись с
logging:
level:
root: WARN
в application.yml
он по-прежнему показывает HTTP-запросы и ответы, как это:
это заполняет консоль в зависимости от запроса сотнями или тысячами строк, в некоторых случаях ненужного кода!
Я ищу вариант, чтобы отключить это... пожалуйста, помогите мне. Я долго искал, но не смог найти ответ. Вероятно, я нахожусь на совершенно неправильном пути с присмотром Spring Boot Logging. Спасибо =)
Редактировать: В качестве другого примера:
Я получаю ошибку и следующий вывод консоли. Мне просто нужны первые строки старта и красные (+ некоторые дополнительные) строки. Как вы можете видеть на полосе прокрутки, это всего лишь маленький кусочек полного вывода! На самом деле 7033 строки (!) Заполнены HTTP-запросом и ответами, как на первом рисунке.
2 ответа
Ик! Ты использовал:
logging:
level:
root: WARN
это формат yaml! (это будет нормально работать, если вы переименуете файл application.yml)
Я считаю, что вы должны выразить это так:
logging.level.root=WARN
это правильный способ выразить это в файле application.properties.
Случайно я нашел решение. Я должен был установить print = MockMvcPrint.NONE
в @AutoConfigureMockMvc
аннотаций. Кажется, что он собирает HTTP-запросы и ответы для каждого неудачного теста и печатает все, когда тест не пройден! Это привело к огромному выходу после некоторых сбоев!