             return PooledConnection(host: host, connection: connection)
         }
 
-        connection.whenFailure { error in
+        connection.whenFailure { [logger] error in
+            logger.error("Connection to \(host) disconnected with error \(error)")
+            
             self.timeoutHosts.insert(host)
             self.discoveredHosts.remove(host)
         }

            })
        }

        self.timeoutHosts = []
        let done = EventLoopFuture<Void>.andAllComplete(handshakes, on: self.eventLoop)
        if let didRediscover = self.didRediscover {

            }
        }

        logger.info("No matching connection found with host: \(host) - creating new connection")
        return makeConnection(to: host).flatMap { pooledConnection in
            self.pool.append(pooledConnection)

