def report(self, request, server_obj): """Log client requests with identifying information. In debug mode log all requests including task messages. Otherwise log all user commands, and just the first info request from each client. """ if threading.current_thread().__class__.__name__ == '_MainThread': # Server methods may be called internally as well as by clients. return auth_user, prog_name, user, host, uuid, priv_level = get_client_info() name = server_obj.__class__.__name__ log_me = ( cylc.flags.debug or name in ["SuiteCommandServer", "ExtTriggerServer", "BroadcastServer"] or (name not in ["SuiteIdServer", "TaskMessageServer"] and uuid not in self.clients)) if log_me: LOG.debug( self.__class__.LOG_CONNECT_ALLOWED_TMPL % ( user, host, prog_name, priv_level, uuid) ) LOG.info( self.__class__.LOG_COMMAND_TMPL % ( request, user, host, prog_name, uuid)) if name == "SuiteIdServer": self._num_id_requests += 1 self.report_id_requests() self.clients[uuid] = datetime.datetime.utcnow() self._housekeep()
def report_connection_if_denied(self): """Log an (un?)successful connection attempt.""" try: (auth_user, prog_name, user, host, uuid, priv_level) = get_client_info() except Exception: LOG.warning( self.__class__.LOG_CONNECT_DENIED_TMPL % ( "unknown", "unknown", "unknown", "unknown") ) return connection_denied = get_client_connection_denied() if connection_denied: LOG.warning( self.__class__.LOG_CONNECT_DENIED_TMPL % ( user, host, prog_name, uuid) )