Example #1
0
    def _setup_logging(self):
        config_ctrl = self.config["controlserver"]

        logfile = os.path.join(
            config_ctrl["log_path"],
            config_ctrl["log_name"].format(bl=self.beamline))

        utils.check_writable(logfile)

        # Get queue
        self.log_queue = Queue(-1)

        handler = utils.get_log_handlers(logfile, config_ctrl["log_size"],
                                         config_ctrl["verbose"],
                                         config_ctrl["onscreen"])

        # Start queue listener using the stream handler above
        self.log_queue_listener = utils.CustomQueueListener(
            self.log_queue, *handler)

        self.log_queue_listener.start()

        # Create log and set handler to queue handle
        self.log = utils.get_logger("ControlServer", self.log_queue)
        self.log.info("Init")
Example #2
0
    def _setup_logging(self):
        config_gen = self.config["general"]

        # Get queue
        self.log_queue = multiprocessing.Queue(-1)

        handler = utils.get_log_handlers(config_gen["log_file"],
                                         config_gen["log_size"],
                                         config_gen["verbose"],
                                         config_gen["onscreen"])

        # Start queue listener using the stream handler above.
        self.log_queue_listener = utils.CustomQueueListener(
            self.log_queue, *handler)

        self.log_queue_listener.start()

        # the least sever log level to forward to the queuelistener
        file_log_level = "debug" if config_gen["verbose"] else "error"
        if config_gen["onscreen"]:
            self.log_level = utils.get_least_sever_log_level(
                log_levels=(config_gen["onscreen"], file_log_level))
        else:
            self.log_level = file_log_level

        # Create log and set handler to queue handle
        self.log = utils.get_logger(self.__class__.__name__,
                                    queue=self.log_queue,
                                    log_level=self.log_level)
        self.log.info("Setting process log level to '%s'", self.log_level)
Example #3
0
def main():
    # see https://docs.python.org/2/library/multiprocessing.html#windows
    freeze_support()

    config = {
        "log_file": os.path.join(BASE_DIR, "logs", "test_logging.log"),
        "log_size": 10485760,
        "verbose": True,
        "onscreen": "debug"
    }

    # Get queue
    log_queue = Queue(-1)

    handler = utils.get_log_handlers(
        config["log_file"],
        config["log_size"],
        config["verbose"],
        config["onscreen"]
    )

    # Start queue listener using the stream handler above.
    log_queue_listener = utils.CustomQueueListener(
        log_queue, *handler
    )

    log_queue_listener.start()

    # Create log and set handler to queue handle
    log = utils.get_logger("TestLogging", log_queue)

    log.debug("START")

    while True:
        log.debug("run")
        time.sleep(1)
Example #4
0
    def _init_logging(self, loglevel=LOGLEVEL):
        """Initialize log listener and log queue.

        Args:
            loglevel: The log level with of StreamHandler to be started.
        """

        loglevel = loglevel.lower()

        # Create handler
        handler = utils.get_stream_log_handler(loglevel=loglevel)

        # Start queue listener using the stream handler above
        self.log_queue = Queue(-1)
        self.listener = utils.CustomQueueListener(self.log_queue, handler)
        self.listener.start()

        # Create log and set handler to queue handle
        root = logging.getLogger()
        qhandler = QueueHandler(self.log_queue)
        root.addHandler(qhandler)

        #        self.log = utils.get_logger("test_datafetcher", self.log_queue)
        self.log = MockLogging()