← Back to list

structlog-logging-specialist
by paunchygent
Teacher-first Script Hub for running curated, upload-based tools.
⭐ 0🍴 0📅 Jan 25, 2026
SKILL.md
name: structlog-logging-specialist description: Configure and use Structlog for structured logging in HuleEdu services. Guides correlation context propagation, async-safe logging, and integration with error handling. Integrates with Context7 for latest Structlog documentation.
Structlog Logging Specialist
Compact skill for implementing structured logging with Structlog in HuleEdu services.
When to Use
Activate when the user:
- Needs to configure Structlog for a new or existing service
- Wants to propagate correlation IDs through logs
- Asks about async-safe context variables
- Needs to integrate logging with error handling
- Wants to understand production vs development logging
- Mentions Structlog, structured logging, correlation context, or log context
- Needs to bind context variables to logs
Core Capabilities
- Structlog Configuration: Production (JSON) vs Development (colored console) setup
- Correlation Propagation: HTTP request → logs, Kafka events → logs, cross-service tracing
- Context Variables: Async-safe context binding with
bind_contextvars - Logger Creation: Service-specific logger instances
- Event Logging: Structured logging for Kafka event processing
- Error Integration: Automatic correlation context in error handlers
- JSON Output: Production-ready JSON logs for Loki aggregation
- Context7 Integration: Fetch latest Structlog documentation
Quick Workflow
- Configure Structlog at service startup with environment-specific settings
- Create logger instances for modules/components
- Bind correlation context at request/event boundaries
- Log with structured key-value pairs
- Clear context when done (async boundaries)
- Verify JSON output in production logs
Configuration Pattern
from huleedu_service_libs.logging_utils import configure_service_logging
# In app.py or main startup
configure_service_logging(
service_name="spellchecker_service",
environment=settings.ENVIRONMENT, # "production" or "development"
log_level=settings.LOG_LEVEL, # "INFO", "DEBUG", etc.
)
Logger Usage Pattern
from huleedu_service_libs.logging_utils import create_service_logger
# Create logger for module
logger = create_service_logger("spellchecker_service.event_processor")
# Log with context
logger.info(
"Processing event",
correlation_id=str(correlation_id),
event_id=str(event_id),
essay_id=essay_id,
)
Context Binding Pattern
from structlog.contextvars import bind_contextvars, clear_contextvars
# Bind context at request/event boundary
bind_contextvars(
correlation_id=str(envelope.correlation_id),
event_id=str(envelope.event_id),
event_type=envelope.event_type,
)
# All logs now include bound context automatically
logger.info("Processing started") # Includes correlation_id, event_id, event_type
# Clear when done
clear_contextvars()
Reference Documentation
- Detailed Configuration & Patterns: See
reference.mdin this directory - Real-World Logging Examples: See
examples.mdin this directory - Logging Library:
/libs/huleedu_service_libs/src/huleedu_service_libs/logging_utils.py - Correlation Utilities:
/libs/huleedu_service_libs/src/huleedu_service_libs/error_handling/correlation.py
Score
Total Score
60/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon