60 lines
2.3 KiB
Python
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)
|