Spaces:
Runtime error
Runtime error
| # RockPaperScissor/utils/logging.py | |
| import logging | |
| import sys | |
| # Store the logger instance to prevent re-creation/multiple handlers | |
| _logger_instance = None | |
| def setup_logging(log_level_str: str = "INFO") -> logging.Logger: | |
| global _logger_instance | |
| if _logger_instance is None: | |
| logger = logging.getLogger("RPS_Gradio_App") | |
| logger.propagate = False # Prevent Gunicorn/Uvicorn from duplicating root logger's messages | |
| # Remove existing handlers if any (e.g., from previous calls or other libs) | |
| if logger.hasHandlers(): | |
| logger.handlers.clear() | |
| log_level = getattr(logging, log_level_str.upper(), logging.INFO) | |
| logger.setLevel(log_level) | |
| handler = logging.StreamHandler(sys.stdout) # Log to stdout for HF Spaces | |
| formatter = logging.Formatter( | |
| '%(asctime)s - %(name)s - %(levelname)s - [%(filename)s:%(lineno)d] - %(message)s' | |
| ) | |
| handler.setFormatter(formatter) | |
| logger.addHandler(handler) | |
| _logger_instance = logger | |
| print(f"Logger '{logger.name}' configured with level {log_level_str} and stream handler.") | |
| return _logger_instance |