Spaces:
Sleeping
Sleeping
| """ | |
| Structured logging utilities for the datalake package. | |
| """ | |
| import logging | |
| from typing import Optional | |
| def setup_logger(name: str, level: str = "INFO") -> logging.Logger: | |
| """ | |
| Initialize logger with structured output. | |
| Args: | |
| name: Logger module name | |
| level: Logging level (INFO, DEBUG, WARNING, ERROR) | |
| Returns: | |
| Configured logger instance | |
| """ | |
| logger = logging.getLogger(name) | |
| # Avoid adding duplicate handlers | |
| if logger.handlers: | |
| return logger | |
| handler = logging.StreamHandler() | |
| formatter = logging.Formatter( | |
| '%(asctime)s - %(name)s - %(levelname)s - %(message)s' | |
| ) | |
| handler.setFormatter(formatter) | |
| logger.addHandler(handler) | |
| logger.setLevel(getattr(logging, level.upper(), logging.INFO)) | |
| return logger | |