64 lines
1.4 KiB
Python
64 lines
1.4 KiB
Python
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()
|