import sys import threading import utils _console_lock = threading.Lock() def _log(prefix: str, message: str) -> None: time = utils.format_datetime("%H:%M:%S") with _console_lock: print(f"[{time}] {prefix}: {message}") def info(message: str) -> None: _log("INFO", message) def warning(message: str) -> None: _log("WARNING", message) def error(message: str) -> None: _log("ERROR", message) sys.exit(1)