Spaces:
Sleeping
Sleeping
Download backend/app/core/logger.py from vishalharkal/BookMind: direct link, hf CLI and curl.
- Browser
- Download file 1.4 kB
-
https://huggingface.co/spaces/vishalharkal/BookMind/resolve/main/backend/app/core/logger.py
- Command line
-
hf download hf://spaces/vishalharkal/BookMind/backend/app/core/logger.py
-
curl -L -o logger.py https://huggingface.co/spaces/vishalharkal/BookMind/resolve/main/backend/app/core/logger.py
1.4 kB
| import logging | |
| import sys | |
| from logging.handlers import RotatingFileHandler | |
| from app.core.config import Config | |
| def setup_logging(name: str = "booksage") -> logging.Logger: | |
| """ | |
| Set up logging configuration with file and console handlers. | |
| Args: | |
| name: Logger name | |
| Returns: | |
| Configured logger instance | |
| """ | |
| # Ensure logs directory exists | |
| Config.LOGS_DIR.mkdir(exist_ok=True) | |
| logger = logging.getLogger(name) | |
| logger.setLevel(logging.DEBUG) | |
| # Prevent adding handlers multiple times | |
| if logger.handlers: | |
| return logger | |
| # Log format | |
| formatter = logging.Formatter( | |
| "%(asctime)s - %(name)s - %(levelname)s - %(message)s", | |
| datefmt="%Y-%m-%d %H:%M:%S" | |
| ) | |
| # File handler with rotation | |
| log_file = Config.LOGS_DIR / "app.log" | |
| file_handler = RotatingFileHandler( | |
| log_file, | |
| maxBytes=10 * 1024 * 1024, # 10MB | |
| backupCount=5, | |
| encoding="utf-8" | |
| ) | |
| file_handler.setLevel(logging.DEBUG) | |
| file_handler.setFormatter(formatter) | |
| # Console handler | |
| console_handler = logging.StreamHandler(sys.stdout) | |
| console_handler.setLevel(logging.INFO) | |
| console_handler.setFormatter(formatter) | |
| # Add handlers | |
| logger.addHandler(file_handler) | |
| logger.addHandler(console_handler) | |
| return logger | |
| # Create default logger instance | |
| logger = setup_logging() | |