import logging import os import sys def setup_logger(): # Obtener la ruta del ejecutable o del script if getattr(sys, 'frozen', False): # Si es un ejecutable generado por PyInstaller application_path = os.path.dirname(sys.executable) else: # Si es el script de Python normal application_path = os.path.dirname(os.path.abspath(__file__)) log_file = os.path.join(application_path, "debug_sync.log") # Crear el logger logger = logging.getLogger("SCAII_Sync") logger.setLevel(logging.DEBUG) # Evitar duplicados si se llama varias veces if not logger.handlers: # Formato: [2024-05-06 10:00:00] [INFO] Mensaje formatter = logging.Formatter('[%(asctime)s] [%(levelname)s] [%(name)s] %(message)s', datefmt='%Y-%m-%d %H:%M:%S') # Handler para archivo (modo 'a' para anexar, 'w' para sobrescribir en cada inicio) file_handler = logging.FileHandler(log_file, mode='w', encoding='utf-8') file_handler.setFormatter(formatter) logger.addHandler(file_handler) # Handler para consola console_handler = logging.StreamHandler() console_handler.setFormatter(formatter) logger.addHandler(console_handler) return logger # Instancia global para importar en otros archivos log = setup_logger()