self._log = Logger(self._do_log).add
         self.update_login(nick_confirmed=False,
                           nickname=self.conn_setup.nickname)
-        self._log('connecting …', conn_setup=self.conn_setup)
         self._start_connecting()
 
     def _start_connecting(self) -> None:
                                            client_id=self.client_id)
                 self._client_trigger('_on_connect')
             except IrcConnAbortException as e:
-                self._log(str(e), alert=True)
+                self._log(f'failed to connect: {e}', alert=True)
             except Exception as e:  # pylint: disable=broad-exception-caught
                 self._put(ExceptionEvent(e))
 
+        self._log('connecting …', conn_setup=self.conn_setup)
         Thread(target=connect, daemon=True, args=(self,)).start()
 
     def _on_connect(self) -> None: