import logging import sys from pathlib import Path log_dir = Path.home() / ".local" / "share" / "refit" log_dir.mkdir(parents=True, exist_ok=True) log_file = log_dir / "refit.log" logging.basicConfig( level=logging.DEBUG, format="%(asctime)s - %(levelname)s - %(message)s", filename=log_file, ) logger = logging.getLogger() def handle_exception(exec_type, exec_value, exec_traceback): if issubclass(exec_type, KeyboardInterrupt): sys.__excepthook__(exec_type, exec_value, exec_traceback) return logger.error( "External error accured", exc_info=(exec_type, exec_value, exec_traceback), ) sys.excepthook = handle_exception logger.debug(f"Log path:\t{log_dir}") logger.debug(f"Log file:\t{log_file}")