diff --git a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/wvp/WvpService.java b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/wvp/WvpService.java index 0b57bc8..097af21 100644 --- a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/wvp/WvpService.java +++ b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/wvp/WvpService.java @@ -127,11 +127,18 @@ public class WvpService { try { genericRetryer.call(() -> video(asyncResponse, deviceCode, deviceId, channelId, startTime, endTime)); } catch (RetryException e) { - String reason = MessageFormat.format("调用 wvp api 查询设备历史失败, 已重试 {0} 次", e.getNumberOfFailedAttempts()); + Attempt failedAttempt = e.getLastFailedAttempt(); + String reason; + if(failedAttempt.hasException()){ + reason = MessageFormat.format("调用 wvp api 查询设备: {0} 历史失败, 已重试 {1} 次, 异常: {2}", deviceCode, e.getNumberOfFailedAttempts(), failedAttempt.getExceptionCause().getMessage()); + } else { + reason = MessageFormat.format("调用 wvp api 查询设备: {0} 历史失败, 已重试 {1} 次", deviceCode, e.getNumberOfFailedAttempts()); + } log.error(reason); writeErrorToResponse(asyncResponse, JsonResponse.error(reason)); } catch (Exception e) { - writeErrorToResponse(asyncResponse, JsonResponse.error(e.getMessage())); + String reason = MessageFormat.format("调用 wvp api 查询设备: {0} 历史失败, 异常: {2}", deviceCode, e.getMessage()); + writeErrorToResponse(asyncResponse, JsonResponse.error(reason)); } finally { asyncContext.complete(); }