{
"timestamp": "2025-01-15T10:30:00Z",
"level": "INFO",
"message": "Order created",
"requestId": "abc-123",
"userId": "user-456",
"orderId": "order-789",
"duration_ms": 150
}
from aws_lambda_powertools import Logger
logger = Logger(service="order-service")
@logger.inject_lambda_context(log_event=True)
def handler(event, context):
logger.info("Processing order", extra={
"order_id": "order-123",
"customer_id": "cust-456"
})
API Gateway → Lambda A → SQS → Lambda B → DynamoDB
↓ ↓ ↓
requestId requestId requestId (propagated)
requestId through all service callsExam Tip: Structured logging = JSON format. Lambda Powertools = easiest way. Correlation IDs cho cross-service tracing.