import logging import os def setup_logger(name): """ Sets up a logger with a standard configuration that logs to both the console and a file named 'app.log'. """ logger = logging.getLogger(name) # If logger already has handlers, don't add more (to avoid duplicate logs) if not logger.handlers: logger.setLevel(logging.INFO) # Create formatters formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') # Console Handler console_handler = logging.StreamHandler() console_handler.setFormatter(formatter) logger.addHandler(console_handler) # File Handler os.makedirs("logs", exist_ok=True) file_handler = logging.FileHandler("logs/app.log", encoding='utf-8') file_handler.setFormatter(formatter) logger.addHandler(file_handler) return logger