import logging as log import time import datetime from TCPClient import TCPClient from UDPClient import UDPClient IP = "10.69.0.2" TCP_PORT = 6069 UDP_PORT = 5069 class SuperGreatFormatter(log.Formatter): def formatTime(self, record, datefmt=None): if not datefmt: return super().formatTime(record, datefmt=datefmt) return ( datetime.datetime.fromtimestamp(record.created) .astimezone() .strftime(datefmt) ) def setupLogger() -> log.Logger: logger = log.getLogger("client") logger.setLevel(log.DEBUG) filehandler = log.FileHandler( filename="client-%s.csv" % datetime.datetime.now().isoformat(), encoding="utf-8", mode="a+", ) filehandler.setFormatter( SuperGreatFormatter( "{message},{levelname},{asctime}", "%Y-%m-%d %H:%M:%S.%f %z", "{" ) ) logger.addHandler(filehandler) streamhandler = log.StreamHandler() streamhandler.setFormatter( log.Formatter("[{asctime}]{levelname}: {message}", "%Y-%m-%d %H:%M:%S", "{") ) logger.addHandler(streamhandler) return logger def main(): logger = setupLogger() tcp = TCPClient(IP, TCP_PORT, logger) udp = UDPClient(IP, UDP_PORT, logger) tcp.Connect() udp.Connect() while True: tcp.Send("meow") udp.Send("woof") time.sleep(9) if __name__ == "__main__": main()