plexus.logging.cloudwatch_logger module
CloudWatch Logs integration for Plexus components.
- Each component invocation opens two log streams:
{component_name}/run/{invocation_id} - lifecycle events, tool calls, cost events {component_name}/llm-context/{invocation_id} - full JSON per LLM call (prompt_context)
Log group: /plexus/{log_category}/{account_key}
All methods degrade gracefully when AWS is not configured; they never raise.
- class plexus.logging.cloudwatch_logger.PlexusCloudWatchLogger(account_key: str, component_name: str, invocation_id: str, log_category: str = 'procedures')
Bases:
objectStreams Plexus component execution events to two CloudWatch log streams.
Initialize CloudWatch logger.
- Args:
account_key: Account identifier for log group segmentation component_name: Component identifier (e.g., procedure ID, “console/chat”) invocation_id: Unique invocation identifier (e.g., run ID, message ID) log_category: Category for log group (default: “procedures”)
- __init__(account_key: str, component_name: str, invocation_id: str, log_category: str = 'procedures') None
Initialize CloudWatch logger.
- Args:
account_key: Account identifier for log group segmentation component_name: Component identifier (e.g., procedure ID, “console/chat”) invocation_id: Unique invocation identifier (e.g., run ID, message ID) log_category: Category for log group (default: “procedures”)
- close(success: bool = True) None
- log_llm_context(payload: Dict[str, Any]) None
- log_run_event_from_tactus(event: Any) None
- open() None