Spaces:
Build error
Build error
| import logging | |
| import os | |
| from datetime import datetime | |
| # from config import LOGS_DIR | |
| # Create logs directory if it doesn't exist | |
| LOGS_DIR = "logs_directory" | |
| os.makedirs(LOGS_DIR, exist_ok=True) | |
| # Generate filename with timestamp | |
| log_filename = os.path.join( | |
| LOGS_DIR, f"app_{datetime.now().strftime('%Y%m%d')}.log") | |
| def setup_logger(name): | |
| """ | |
| Create a logger with the specified name that writes to both file and console | |
| """ | |
| logger = logging.getLogger(name) | |
| # Only configure if it hasn't been configured yet | |
| if not logger.handlers: | |
| logger.setLevel(logging.DEBUG) | |
| # Create file handler | |
| file_handler = logging.FileHandler(log_filename) | |
| file_handler.setLevel(logging.DEBUG) | |
| file_formatter = logging.Formatter( | |
| '%(asctime)s - %(name)s - %(levelname)s - [%(filename)s:%(lineno)d] - %(message)s', | |
| datefmt='%Y-%m-%d %H:%M:%S' | |
| ) | |
| file_handler.setFormatter(file_formatter) | |
| # Create console handler | |
| console_handler = logging.StreamHandler() | |
| console_handler.setLevel(logging.INFO) # Less verbose for console | |
| console_formatter = logging.Formatter( | |
| '%(levelname)s - %(name)s - %(message)s' | |
| ) | |
| console_handler.setFormatter(console_formatter) | |
| # Add handlers to logger | |
| logger.addHandler(file_handler) | |
| logger.addHandler(console_handler) | |
| return logger | |
| logger = setup_logger(__name__) | |