Spaces:
Sleeping
Sleeping
| import logging | |
| from logging.handlers import RotatingFileHandler | |
| from pathlib import Path | |
| LOG_DIR = Path("logs") | |
| LOG_DIR.mkdir(exist_ok=True) | |
| LOG_FILE = LOG_DIR / "app.log" | |
| def get_logger(name: str = "bg_removal_app") -> logging.Logger: | |
| logger = logging.getLogger(name) | |
| logger.setLevel(logging.INFO) | |
| # Prevent duplicate handlers (important with Streamlit reruns) | |
| if logger.handlers: | |
| return logger | |
| formatter = logging.Formatter("[%(asctime)s] [%(levelname)s] [%(name)s] %(message)s") | |
| # File handler (rotating) | |
| file_handler = RotatingFileHandler( | |
| LOG_FILE, | |
| maxBytes=5 * 1024 * 1024, # 5 MB | |
| backupCount=5, | |
| encoding="utf-8", | |
| ) | |
| file_handler.setFormatter(formatter) | |
| file_handler.setLevel(logging.INFO) | |
| # Console handler (shows in terminal) | |
| console_handler = logging.StreamHandler() | |
| console_handler.setFormatter(formatter) | |
| console_handler.setLevel(logging.INFO) | |
| logger.addHandler(file_handler) | |
| logger.addHandler(console_handler) | |
| return logger | |