Spaces:
Running
Running
| import logging | |
| from pathlib import Path | |
| class Logger: | |
| def __init__(self, filename="devika_agent.log"): | |
| # Set up logging | |
| self.log_dir = Path("/code/logs") | |
| self.log_dir.mkdir(exist_ok=True) | |
| self.log_file = self.log_dir / filename | |
| # Configure logging | |
| logging.basicConfig( | |
| level=logging.INFO, | |
| format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', | |
| handlers=[ | |
| logging.FileHandler(self.log_file), | |
| logging.StreamHandler() | |
| ] | |
| ) | |
| self.logger = logging.getLogger("devika") | |
| def info(self, message: str): | |
| self.logger.info(message) | |
| def error(self, message: str): | |
| self.logger.error(message) | |
| def warning(self, message: str): | |
| self.logger.warning(message) | |
| def debug(self, message: str): | |
| self.logger.debug(message) | |
| def route_logger(logger): | |
| def decorator(f): | |
| def wrapper(*args, **kwargs): | |
| logger.info(f"Route called: {f.__name__}") | |
| return f(*args, **kwargs) | |
| return wrapper | |
| return decorator |