import logging import os import sys def setup_logger(): # Find application directory if getattr(sys, 'frozen', False): app_dir = os.path.dirname(sys.executable) else: # If in a package, go up one level to the root app_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) log_file = os.path.join(app_dir, "git_monitor.log") logger = logging.getLogger("GitMonitor") logger.setLevel(logging.INFO) formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s', datefmt='%Y-%m-%d %H:%M:%S') # File handler file_handler = logging.FileHandler(log_file) file_handler.setFormatter(formatter) logger.addHandler(file_handler) # Also log to stdout for development (though it will be --noconsole eventually) stream_handler = logging.StreamHandler(sys.stdout) stream_handler.setFormatter(formatter) logger.addHandler(stream_handler) return logger logger = setup_logger()