############################################################### # SYSLAB remote logging utilities v0.9 # collect and record log events # # Author: Kai Heussen # Date: 2023/06/18 ############################################################### import logging import logging.handlers import time import syslab.config as config event_log_formats = '%(asctime)s - %(name)s - %(levelname)s - %(filename)s - %(funcName)s - %(message)s' simple_log_formats = '%(asctime)s - %(name)s - %(message)s' def setup_event_logger(loggername=config.EVLOG_NAME, host='localhost', port=config.REMOTE_PORT_EV, level=logging.INFO, formats=simple_log_formats): # UDP handler1 = logging.handlers.DatagramHandler(config.REMOTE_IP_EV, config.REMOTE_PORT_EV) handler2 = logging.handlers.DatagramHandler(host, port) handler3 = logging.StreamHandler() formatter = logging.Formatter(formats) handler3.setFormatter(formatter) loggr = logging.getLogger(loggername) loggr.setLevel(level) loggr.addHandler(handler1) loggr.addHandler(handler2) loggr.addHandler(handler3) return loggr def setup_local_logger(loggername=config.EVLOG_NAME, host='localhost', port=config.REMOTE_PORT_EV, level=logging.INFO, formats=simple_log_formats): # UDP handler = logging.handlers.DatagramHandler(host, port) formatter = logging.Formatter(formats) handler.setFormatter(formatter) loggr = logging.getLogger(loggername) loggr.setLevel(level) loggr.addHandler(handler) return loggr def setup_udp_logger(loggername=config.SPLOG_NAME, host=config.REMOTE_IP_SP, port=config.REMOTE_PORT_SP, level=logging.INFO, formats=config.LOG_FORMATS): # UDP handler = logging.handlers.DatagramHandler(host, port) formatter = logging.Formatter(formats) handler.setFormatter(formatter) loggr = logging.getLogger(loggername) loggr.setLevel(level) loggr.addHandler(handler) return loggr if __name__ == "__main__": logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)-8s %(message)s') # logging.getLogger().addHandler(logging.handlers.DatagramHandler('10.42.242.3', 51010)) logger = setup_local_logger() while True: logger.debug("This shouldn't show up") logger.info("This should show up") time.sleep(3)