← ClaudeAtlas

py-observabilitylisted

Observability patterns for Python backends. Use when adding logging, metrics, tracing, or debugging production issues.
aiskillstore/marketplace · ★ 329 · DevOps & Infrastructure · score 79
Install: claude install-skill aiskillstore/marketplace
# Python Observability ## Problem Statement Production issues are impossible to debug without observability. Logging, metrics, and tracing must be built in from the start. Silent failures, missing context in errors, and lack of metrics make incidents last longer. --- ## Pattern: Structured Logging **Problem:** Unstructured logs are hard to search and analyze. ```python # ❌ BAD: Unstructured logging import logging logger = logging.getLogger(__name__) logger.info(f"User {user_id} started assessment {assessment_id}") logger.error(f"Failed to save answer: {error}") # ✅ GOOD: Structured logging with structlog import structlog logger = structlog.get_logger() logger.info( "assessment_started", user_id=str(user_id), assessment_id=str(assessment_id), ) logger.error( "answer_save_failed", user_id=str(user_id), question_id=str(question_id), error=str(error), error_type=type(error).__name__, ) ``` ### structlog Configuration ```python # app/core/logging.py import structlog import logging import sys def setup_logging(json_logs: bool = True, log_level: str = "INFO"): """Configure structured logging.""" # Shared processors shared_processors = [ structlog.contextvars.merge_contextvars, structlog.processors.add_log_level, structlog.processors.TimeStamper(fmt="iso"), structlog.processors.StackInfoRenderer(), ] if json_logs: # JSON for production (machine-readable) process