Spaces:
Sleeping
Sleeping
| """ | |
| Logger - Logging configuration | |
| """ | |
| import logging | |
| import sys | |
| from datetime import datetime | |
| def setup_logger(name: str = 'geoai', level: str = 'INFO') -> logging.Logger: | |
| """ | |
| Setup application logger | |
| Args: | |
| name: Logger name | |
| level: Logging level (DEBUG/INFO/WARNING/ERROR) | |
| Returns: | |
| logging.Logger: Configured logger | |
| """ | |
| # Create logger | |
| logger = logging.getLogger(name) | |
| # Set level | |
| level_map = { | |
| 'DEBUG': logging.DEBUG, | |
| 'INFO': logging.INFO, | |
| 'WARNING': logging.WARNING, | |
| 'ERROR': logging.ERROR | |
| } | |
| logger.setLevel(level_map.get(level.upper(), logging.INFO)) | |
| # Clear existing handlers | |
| logger.handlers.clear() | |
| # Create console handler | |
| console_handler = logging.StreamHandler(sys.stdout) | |
| console_handler.setLevel(logging.DEBUG) | |
| # Create formatter | |
| formatter = logging.Formatter( | |
| '%(asctime)s - %(name)s - %(levelname)s - %(message)s', | |
| datefmt='%Y-%m-%d %H:%M:%S' | |
| ) | |
| console_handler.setFormatter(formatter) | |
| # Add handler to logger | |
| logger.addHandler(console_handler) | |
| return logger | |
| def get_logger(name: str) -> logging.Logger: | |
| """ | |
| Get or create logger | |
| Args: | |
| name: Logger name | |
| Returns: | |
| logging.Logger: Logger instance | |
| """ | |
| return logging.getLogger(name) | |