Spaces:
Sleeping
Sleeping
| import logging | |
| import os | |
| from logging.handlers import RotatingFileHandler | |
| # Configure logger | |
| def setup_logger(name: str) -> logging.Logger: | |
| log_level = os.getenv("LOG_LEVEL", "INFO").upper() | |
| log_file = os.getenv("LOG_FILE", "app.log") | |
| max_bytes = int(os.getenv("LOG_MAX_BYTES", 10 * 1024 * 1024)) # 10 MB | |
| backup_count = int(os.getenv("LOG_BACKUP_COUNT", 5)) | |
| logger = logging.getLogger(name) | |
| logger.setLevel(log_level) | |
| # Console handler | |
| console_handler = logging.StreamHandler() | |
| console_handler.setLevel(log_level) | |
| console_formatter = logging.Formatter( | |
| "%(asctime)s - %(name)s - %(levelname)s - %(message)s" | |
| ) | |
| console_handler.setFormatter(console_formatter) | |
| # Rotating file handler | |
| file_handler = RotatingFileHandler( | |
| log_file, maxBytes=max_bytes, backupCount=backup_count | |
| ) | |
| file_handler.setLevel(log_level) | |
| file_formatter = logging.Formatter( | |
| "%(asctime)s - %(name)s - %(levelname)s - %(message)s" | |
| ) | |
| file_handler.setFormatter(file_formatter) | |
| # Add handlers | |
| logger.addHandler(console_handler) | |
| logger.addHandler(file_handler) | |
| logger.propagate = False | |
| return logger | |