From 93eabf3d3e9e2dba2700bffc773e2df3c42e3dfe Mon Sep 17 00:00:00 2001 From: Gareth Clay Date: Wed, 12 May 2021 13:36:53 +0100 Subject: [PATCH] Improve error logging of UnknownCloudFoundryException --- .../fixtures/cf/UserCloudFoundryService.java | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/spring-cloud-app-broker-acceptance-tests/src/test/java/org/springframework/cloud/appbroker/acceptance/fixtures/cf/UserCloudFoundryService.java b/spring-cloud-app-broker-acceptance-tests/src/test/java/org/springframework/cloud/appbroker/acceptance/fixtures/cf/UserCloudFoundryService.java index 819312b..84dcd6f 100644 --- a/spring-cloud-app-broker-acceptance-tests/src/test/java/org/springframework/cloud/appbroker/acceptance/fixtures/cf/UserCloudFoundryService.java +++ b/spring-cloud-app-broker-acceptance-tests/src/test/java/org/springframework/cloud/appbroker/acceptance/fixtures/cf/UserCloudFoundryService.java @@ -18,6 +18,7 @@ package org.springframework.cloud.appbroker.acceptance.fixtures.cf; import java.util.Map; +import org.cloudfoundry.UnknownCloudFoundryException; import org.cloudfoundry.operations.CloudFoundryOperations; import org.cloudfoundry.operations.DefaultCloudFoundryOperations; import org.cloudfoundry.operations.services.CreateServiceInstanceRequest; @@ -86,11 +87,9 @@ public final class UserCloudFoundryService { .build()) .doOnSuccess(v -> LOG.info("Success deleting service instance. serviceInstanceName={}", serviceInstanceName)) - .doOnError(e -> LOG.error(String.format("Error deleting service instance. serviceInstanceName=%s, " + - "error=%s", serviceInstanceName, e.getMessage()), e)) + .doOnError(error -> logError("deleting service instance", serviceInstanceName, error)) .onErrorResume(e -> Mono.empty())) - .doOnError(e -> LOG.warn(String.format("Error getting service instance. serviceInstanceName=%s, " + - "error=%s", serviceInstanceName, e.getMessage()), e)) + .doOnError(error -> logError("getting service instance", serviceInstanceName, error)) .onErrorResume(e -> Mono.empty()); } @@ -106,8 +105,7 @@ public final class UserCloudFoundryService { .build()) .doOnSuccess(item -> LOG.info("Success creating service instance. serviceInstanceName={}", serviceInstanceName)) - .doOnError(e -> LOG.error(String.format("Error creating service instance. serviceInstanceName=%s, " + - "error=%s", serviceInstanceName, e.getMessage()), e)); + .doOnError(error -> logError("creating service instance", serviceInstanceName, error)); } public Mono updateServiceInstance(String serviceInstanceName, Map parameters) { @@ -117,7 +115,7 @@ public final class UserCloudFoundryService { .parameters(parameters) .build()) .doOnSuccess(item -> LOG.info("Updated service instance " + serviceInstanceName)) - .doOnError(error -> LOG.error("Error updating service instance " + serviceInstanceName + ": " + error)); + .doOnError(error -> logError("updating service instance", serviceInstanceName, error)); } public Mono getServiceInstance(String serviceInstanceName) { @@ -126,6 +124,19 @@ public final class UserCloudFoundryService { .name(serviceInstanceName) .build()) .doOnSuccess(item -> LOG.info("Got service instance " + serviceInstanceName)) - .doOnError(error -> LOG.error("Error getting service instance " + serviceInstanceName + ": " + error)); + .doOnError(error -> logError("getting service instance", serviceInstanceName, error)); + } + + private static void logError(String operation, String serviceInstanceName, Throwable error) { + String logMessage; + if (error instanceof UnknownCloudFoundryException) { + UnknownCloudFoundryException unknownCloudFoundryException = (UnknownCloudFoundryException) error; + logMessage = String.format("Error %s %s: %s %s", operation, serviceInstanceName, + unknownCloudFoundryException.getMessage(), unknownCloudFoundryException.getPayload()); + } + else { + logMessage = String.format("Error %s %s: %s", operation, serviceInstanceName, error); + } + LOG.error(logMessage, error); } }