#java #logging #spring-test #wiremock #spring-cloud-contract
#java #ведение журнала #spring-тест #wiremock #spring-cloud-contract
Вопрос:
Согласно официальному документу «Как отлаживать«, мне нужно добавить следующее в файл свойств, чтобы включить ведение журнала
logging.level.org.apache.http.wire=DEBUG
logging.level.com.github.tomakehurst.wiremock=DEBUG
Но я не вижу никаких журналов, видимых на консоли, когда запрос отправляется на сервер wiremock. Я получаю 500 Internal Server Error
только определенную платформу. Итак, для устранения неполадок я пытаюсь перехватить активность, когда запрос поступает на сервер wiremock.
В моем файле pom
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-contract-stub-runner</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<scope>test</scope>
</dependency>
Я также попытался добавить logback-test.xml
файл со следующим содержимым. Но это также ничего не регистрирует.
<logger name="com.github.tomakehurst.wiremock" level="DEBUG"/>
<logger name="wiremock.org" level="DEBUG"/>
<logger name="WireMock" level="DEBUG"/>
<logger name="/" level="DEBUG"/>
Мой тестовый класс
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT,
classes = MyApplication.class)
@AutoConfigureMockMvc
@TestPropertySource(
locations = "/application-integration-test.properties"
)
@AutoConfigureWireMock(port = 0)
@AutoConfigureWebTestClient(timeout = "100000")
public class MyApplicationTest {
private WebTestClient client;
@LocalServerPort
private int port;
@Before
public void setUp() throws Exception {
client = WebTestClient.bindToServer().baseUrl("http://localhost:" port).build();
}
/// Test code
}
Кто-нибудь подсказывает, чего мне не хватает?
Комментарии:
1. Вы пробовали добавить
ConsoleNotifier
из официальных документов WIREMOCK см. Раздел Уведомление (ведение журнала)2. не могли бы вы поделиться примером, который подходит для приведенного выше кода. Это существующий код, и я не знаю, как его использовать
ConsoleNotifier
в этом случае. Я не могу изменить весь поток для включения журнала. Это повлияет на весь поток.3. попробуйте добавить в свой
setUp
методWireMockConfiguration.options() .notifier(new ConsoleNotifier(true));