Esempio n. 1
0
    def _start_logging(self):
        """ Configures and starts the logging of this operation """
        # Remove the default handler
        if len(logging.getLogger('').handlers) > 0:
            logging.getLogger('').removeHandler(
                logging.getLogger('').handlers[0])
        # define a handler which writes WARNING messages
        # or higher to the sys.stderr
        console = logging.StreamHandler()

        # Determining level of the logger based on pySPACE configuration file
        try:
            log_level = eval(pySPACE.configuration.console_log_level) \
                            if hasattr(pySPACE.configuration, "console_log_level") \
                            else logging.WARNING
            if not isinstance(log_level, int):
                raise NameError()
        except (AttributeError, NameError):
            import warnings
            warnings.warn("%s is not a valid log level! Falling back to " \
                          "logging.WARNING." % pySPACE.configuration.log_level)
            log_level = logging.WARNING

        console.setLevel(log_level)
        # set a format which is simpler for console use
        formatter = logging.Formatter(
            '%(asctime)s %(name)-40s %(levelname)-8s %(message)s')
        # tell the handler to use this format
        console.setFormatter(formatter)
        # add the handler to the root logger
        logging.getLogger('').addHandler(console)
        logging.getLogger('').setLevel(logging.DEBUG)

        self._log("Logging started")

        # Starting the socket server
        from pySPACE.tools.socket_logger import LogRecordSocketReceiver
        self._log("Starting the TCP logging server...")
        # Determining host ip
        host, aliaslist, lan_ip = socket.gethostbyname_ex(socket.gethostname())
        self.host = lan_ip[0]
        # Search for an available port
        self.port = logging.handlers.DEFAULT_TCP_LOGGING_PORT
        while True:
            try:
                self.tcpserver = LogRecordSocketReceiver(host=self.host,
                                                         port=self.port)
                break
            except socket.error:
                self.port += 1

        self.tcpserver.start()
        self._log("Started the TCP logging server on port %s!" % self.port)
Esempio n. 2
0
def start_logging_server():
    """ Start the socket server """
    from pySPACE.tools.socket_logger import LogRecordSocketReceiver
    # Determining host ip
    host, aliaslist, lan_ip = socket.gethostbyname_ex(socket.gethostname())
    host = lan_ip[0]
    # Search for an available port
    port = logging.handlers.DEFAULT_TCP_LOGGING_PORT
    while True:
        try:
            tcpserver = LogRecordSocketReceiver(host=host, port=port)
            break
        except socket.error:
            port += 1

    tcpserver.start()
    online_logger.log(logging.info,
                      "Started the TCP logging server on port %s!" % port)