DocsAWS 101BlogServices

CloudWatch Logs

Log groups, streams, events, filter patterns, CloudWatch Logs Insights queries.

JSON-RPC (X-Amz-Target) multi-tenant 42 operations

Quick start

import boto3
logs = boto3.client("logs", endpoint_url="http://localhost:4566",
                    region_name="us-east-1",
                    aws_access_key_id="test", aws_secret_access_key="test")
logs.create_log_group(logGroupName="/app")
logs.create_log_stream(logGroupName="/app", logStreamName="main")
logs.put_log_events(logGroupName="/app", logStreamName="main",
                    logEvents=[{"timestamp": 1, "message": "hello"}])

Supported operations

42 operations exposed by this service as of MiniStack 1.4.21. Extracted directly from the handler dispatch in the source module.

CreateDelivery CreateLogGroup CreateLogStream DeleteDelivery DeleteDeliveryDestination DeleteDeliverySource DeleteDestination DeleteLogGroup DeleteLogStream DeleteMetricFilter DeleteRetentionPolicy DeleteSubscriptionFilter DescribeDeliveries DescribeDeliveryDestinations DescribeDeliverySources DescribeDestinations DescribeLogGroups DescribeLogStreams DescribeMetricFilters DescribeSubscriptionFilters FilterLogEvents GetDelivery GetDeliveryDestination GetDeliverySource GetLogEvents GetQueryResults ListTagsForResource ListTagsLogGroup PutDeliveryDestination PutDeliverySource PutDestination PutDestinationPolicy PutLogEvents PutMetricFilter PutRetentionPolicy PutSubscriptionFilter StartQuery StopQuery TagLogGroup TagResource UntagLogGroup UntagResource

CloudFormation

The CloudFormation engine provisions these resource types via this service:

AWS::Logs::LogGroup AWS::Logs::ResourcePolicy AWS::Logs::SubscriptionFilter

See CloudFormation engine for intrinsic support and lifecycle details.

Known limitations

  • Retention policies are stored but log data is not automatically expired.
  • Subscription filters deliver matching events to Lambda destinations (awslogs gzip+base64 envelope); Kinesis / Firehose destinations are stored but not delivered.
  • ECS task logs are not piped into log groups. CodeBuild build logs ARE written when a build runs with MINISTACK_CODEBUILD_EXECUTE=1.

Source

  • ministack/services/cloudwatch_logs.py

Read the source to verify the ops list above — dispatch tables and handler functions are the ground truth.