Source:
<code>public void onTransportError(Event event) { super.onTransportError(event); final Transport transport = event.getTransport(); final Connection connection = event.getConnection(); if (connection == null || transport == null) { return; } final ErrorCondition errorCondition = transport.getCondition(); if (errorCondition == null || !(errorCondition.getCondition().equals(ConnectionError.FRAMING_ERROR) || errorCondition.getCondition().equals(AmqpErrorCode.PROTON_IO_ERROR))) { return; } final String hostName = event.getReactor().getConnectionAddress(connection); final ProxySelector proxySelector = ProxySelector.getDefault(); final boolean isProxyConfigured = proxySelector != null || (proxyConfiguration != null && proxyConfiguration.isProxyAddressConfigured()); if (!isProxyConfigured || ImplUtils.isNullOrEmpty(hostName)) { return; } final String[] hostNameParts = hostName.split(":"); if (hostNameParts.length != 2) { return; } int port; try { port = Integer.parseInt(hostNameParts[1]); } catch (NumberFormatException ignore) { <START> return; <END> } final IOException ioException = new IOException(errorCondition.getDescription()); final URI url = createURI(amqpHostname, getProtocolPort()); final InetSocketAddress address = new InetSocketAddress(hostNameParts[0], port); logger.error(String.format("Failed to connect to url: '%s', proxy host: '%s'", url.toString(), address.getHostString()), ioException); if (proxySelector != null) { proxySelector.connectFailed(url, address, ioException); } }</code><technical_language>Add a log message debug issues</technical_language>

Target:
public void onTransportError(Event event) { super.onTransportError(event); final Transport transport = event.getTransport(); final Connection connection = event.getConnection(); if (connection == null || transport == null) { return; } final ErrorCondition errorCondition = transport.getCondition(); if (errorCondition == null || !(errorCondition.getCondition().equals(ConnectionError.FRAMING_ERROR) || errorCondition.getCondition().equals(AmqpErrorCode.PROTON_IO_ERROR))) { return; } final String hostName = event.getReactor().getConnectionAddress(connection); final ProxySelector proxySelector = ProxySelector.getDefault(); final boolean isProxyConfigured = proxySelector != null || (proxyConfiguration != null && proxyConfiguration.isProxyAddressConfigured()); if (!isProxyConfigured || ImplUtils.isNullOrEmpty(hostName)) { return; } final String[] hostNameParts = hostName.split(":"); if (hostNameParts.length != 2) { logger.warning("Invalid hostname: {}", hostName); return; } int port; try { port = Integer.parseInt(hostNameParts[1]); } catch (NumberFormatException ignore) { logger.warning("Invalid port number: {}", hostNameParts[1]); return; } final IOException ioException = new IOException(errorCondition.getDescription()); final URI url = createURI(amqpHostname, getProtocolPort()); final InetSocketAddress address = new InetSocketAddress(hostNameParts[0], port); logger.error(String.format("Failed to connect to url: '%s', proxy host: '%s'", url.toString(), address.getHostString()), ioException); if (proxySelector != null) { proxySelector.connectFailed(url, address, ioException); } }