Spaces:
Build error
Build error
| """Structured logging helpers.""" | |
| import logging | |
| from typing import Any | |
| import structlog | |
| def configure_logging(level: int = logging.INFO) -> None: | |
| """Configure structlog for the application.""" | |
| timestamper = structlog.processors.TimeStamper(fmt="iso") | |
| structlog.configure( | |
| processors=[ | |
| structlog.stdlib.add_logger_name, | |
| structlog.stdlib.add_log_level, | |
| timestamper, | |
| structlog.processors.StackInfoRenderer(), | |
| structlog.processors.format_exc_info, | |
| structlog.processors.UnicodeDecoder(), | |
| structlog.dev.ConsoleRenderer() if level <= logging.DEBUG else structlog.processors.JSONRenderer(), | |
| ], | |
| context_class=dict, | |
| logger_factory=structlog.stdlib.LoggerFactory(), | |
| cache_logger_on_first_use=True, | |
| ) | |
| logging.basicConfig(level=level, format="%(message)s") | |
| def get_logger(*args: Any, **kwargs: Any) -> structlog.stdlib.BoundLogger: | |
| """Return a configured structlog logger.""" | |
| return structlog.get_logger(*args, **kwargs) | |