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")
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)
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)
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()