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: object

Streams 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