diff options
| author | Pinapelz <yukais@pinapelz.com> | 2024-10-04 11:57:29 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2024-10-04 11:57:46 -0700 |
| commit | 274e2cb39841b71c1f1cc9e94b94c75f0ebed539 (patch) | |
| tree | a84afe0a8da5beeb2d20f35d446ff425130f0754 /logger.py | |
| parent | a695e797d72ab3467b4bbd64eb5c9dbe6fea0111 (diff) | |
add logic to cut log file by half if exceeding 1000kb in 1 run
- should not ever happen but this is a failsafe
Diffstat (limited to 'logger.py')
| -rw-r--r-- | logger.py | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -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") + |
