46045-syslab/syslab/comm/LogUtils.py

60 lines
2.3 KiB
Python

###############################################################
# 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)