From 7b5ffe77d51effc70b5291c7ef02472a91e0df6b Mon Sep 17 00:00:00 2001 From: Torben Petersen <petersen@ibr.cs.tu-bs.de> Date: Wed, 28 Jul 2021 12:57:25 +0200 Subject: [PATCH] Adds Mutex to prevent logger from printing into multiple files at the same time! --- software/coordinator2.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/software/coordinator2.py b/software/coordinator2.py index 4181e59..aa46997 100644 --- a/software/coordinator2.py +++ b/software/coordinator2.py @@ -174,6 +174,8 @@ class PRREvalClient(Thread): self.connected = 0 + self.log_mutex = Lock() + self.server_one = "pi-a279" self.HUB_ONE_DISCOVERY_TOPIC = "hotplug/{}/discovery".format(self.server_one) self.HUB_ONE_DISCOVERY_ANSWER_TOPIC = "hotplug/{}/discovery/answer".format(self.server_one) @@ -247,6 +249,8 @@ class PRREvalClient(Thread): os.mkdir("Node-Logs/{}".format(userdata)) unpacked_msg = str(msg.payload)[2:][:-1] node_id = topic[2] + + self.log_mutex.acquire() fh = logging.FileHandler("Node-Logs/{}/{}.log".format(userdata, node_id)) fh.setLevel(logging.DEBUG) @@ -254,8 +258,9 @@ class PRREvalClient(Thread): self.logger.addHandler(fh) self.logger.info("{}\t{}: {}".format(time(), node_id, unpacked_msg)) - self.logger.removeHandler(fh) + + self.log_mutex.release() else: print( "[on_message] {} {}".format(msg.payload, msg.topic) ) -- GitLab