diff options
| author | Pinapelz <yukais@pinapelz.com> | 2024-10-04 11:57:29 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2024-10-04 11:57:29 -0700 |
| commit | 249aca4db4b9053d8d29360bf100ce187a73fddd (patch) | |
| tree | f3f16ca41068b691b08c5eece1482d6f118993ab /logger.py | |
| parent | 14ade3db074766da5baff813544b5f8d5f1b414b (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") + |
