summaryrefslogtreecommitdiffstats
path: root/logger.py
diff options
context:
space:
mode:
Diffstat (limited to 'logger.py')
-rw-r--r--logger.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/logger.py b/logger.py
new file mode 100644
index 0000000..b636fd1
--- /dev/null
+++ b/logger.py
@@ -0,0 +1,33 @@
+import time
+from datetime import datetime
+import pytz
+
+def _get_datetime_string():
+ utc_now = datetime.now(pytz.timezone('UTC'))
+ pst_now = utc_now.astimezone(pytz.timezone('US/Pacific'))
+ return pst_now.strftime('%Y-%m-%d %H:%M:%S')
+
+def track_task_time(message: str):
+ def decorator(func):
+ def wrapper(*args, **kwargs):
+ print(f"[{_get_datetime_string()}] TASK STARTED: " + message)
+ start = time.time()
+ result = func(*args, **kwargs)
+ end = time.time()
+ print(f"[{_get_datetime_string()}] TASK COMPLETED: {message} {round(end - start, 3)} seconds")
+ return result
+ return wrapper
+ return decorator
+
+class Logger:
+ def __init__(self, path: str = "logs.txt", max_size_bytes: int = 1000000):
+ self.max_size_bytes = max_size_bytes
+ self.path = path
+
+ def create_log_file(self):
+ with open(self.path, "w") as file:
+ file.write("")
+
+ 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
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage