From 448d096f451c2ecbb5198119f1667fdbd555f655 Mon Sep 17 00:00:00 2001 From: SantaSpeen Date: Tue, 18 Mar 2025 14:43:39 +0300 Subject: [PATCH] separate to defs --- setup_logger.py | 61 ++++++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/setup_logger.py b/setup_logger.py index dc19dc4..2037720 100644 --- a/setup_logger.py +++ b/setup_logger.py @@ -24,36 +24,39 @@ def handle_thread_exception(args): return logger.error("Unhandled exception in thread:\n" + "".join(traceback.format_exception(exc_type, exc_value, exc_traceback))) - log_dir = Core.DIR / "logs" log_file = log_dir / "info.log" os.makedirs(log_dir, exist_ok=True) os.makedirs(Core.DIR / "cache", exist_ok=True) -try: - if os.path.exists(log_file): - ftime = os.path.getmtime(log_file) - index = 1 - while True: - zip_path = log_dir / f"{datetime.fromtimestamp(ftime).strftime('%Y-%m-%d')}-{index}.zip" - if not os.path.exists(zip_path): - break - index += 1 - with zipfile.ZipFile(zip_path, "w") as zipf: - logs_files = glob.glob(f"{log_dir}/*.log") - for file in logs_files: - if os.path.exists(file): - zipf.write(file, os.path.basename(file)) - os.remove(file) -except PermissionError: - messagebox.showerror(f"ezSyncer {Core.ver_str}", - "Some files are locked...\nProgram cannot works in multiplies instances.") - sys.exit(1) -logger.remove() -fmt = "{elapsed} -- {time:YYYY-MM-DD HH:mm:ss.SSS} | {level:<8} | {extra[module]:^12} | {extra[prefix]:<12} | {message}" -logger.add(sys.stdout, level="DEBUG", format=fmt, backtrace=True, diagnose=True) -logger.add(log_file, level="INFO", format=fmt, backtrace=False, diagnose=False, rotation="25 MB") -logger.add(log_dir / "debug.log", level="DEBUG", format=fmt, rotation="10 MB") -logger.add(log_dir / "low_debug.log", level="DEBUG", rotation="10 MB") -sys.excepthook = handle_exception -threading.excepthook = handle_thread_exception -logger.bind(module="LoggerSetup", prefix="init").success("Logger initialized.") + +def zip_logs(): + try: + if os.path.exists(log_file): + ftime = os.path.getmtime(log_file) + index = 1 + while True: + zip_path = log_dir / f"{datetime.fromtimestamp(ftime).strftime('%Y-%m-%d')}-{index}.zip" + if not os.path.exists(zip_path): + break + index += 1 + with zipfile.ZipFile(zip_path, "w") as zipf: + logs_files = glob.glob(f"{log_dir}/*.log") + for file in logs_files: + if os.path.exists(file): + zipf.write(file, os.path.basename(file)) + os.remove(file) + except PermissionError: + messagebox.showerror(f"ezSyncer {Core.ver_str}", + "Some files are locked...\nProgram cannot works in multiplies instances.") + sys.exit(1) + +def setup(): + logger.remove() + fmt = "{elapsed} -- {time:YYYY-MM-DD HH:mm:ss.SSS} | {level:<8} | {extra[module]:^12} | {extra[prefix]:<12} | {message}" + logger.add(sys.stdout, level="DEBUG", format=fmt, backtrace=True, diagnose=True) + logger.add(log_file, level="INFO", format=fmt, backtrace=False, diagnose=False, rotation="25 MB") + logger.add(log_dir / "debug.log", level="DEBUG", format=fmt, rotation="10 MB") + logger.add(log_dir / "low_debug.log", level="DEBUG", rotation="10 MB") + sys.excepthook = handle_exception + threading.excepthook = handle_thread_exception + logger.bind(module="LoggerSetup", prefix="init").success("Logger initialized.")