From 249aca4db4b9053d8d29360bf100ce187a73fddd Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Fri, 4 Oct 2024 11:57:29 -0700 Subject: add logic to cut log file by half if exceeding 1000kb in 1 run - should not ever happen but this is a failsafe --- logger.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'logger.py') diff --git a/logger.py b/logger.py index b636fd1..77cdad1 100644 --- a/logger.py +++ b/logger.py @@ -1,6 +1,7 @@ import time from datetime import datetime import pytz +import os def _get_datetime_string(): utc_now = datetime.now(pytz.timezone('UTC')) @@ -30,4 +31,14 @@ class Logger: def log(self, message: str): with open(self.path, "a") as file: - file.write(f"[{_get_datetime_string()}] {message}\n") \ No newline at end of file + self.check_log_size() + file.write(f"[{_get_datetime_string()}] {message}\n") + + def check_log_size(self): + if os.path.getsize(self.path) > self.max_size_bytes: + with open(self.path, "r") as file: + lines = file.readlines() + with open(self.path, "w") as file: + file.writelines(lines[int(len(lines) / 2):]) + file.write("Removed half of the log file due to size\n") + -- cgit v1.2.3