Как включить ведение журнала сервера Spring Cloud Contract Wiremock?

#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));