add log when destructing for debugging
fix issue: when EOF received, the socket in fact has been closed by remote peer, so we should not call close() again to close the socket, it will trigger an exception