DocsAWS 101BlogServices

CloudWatch Logs

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

JSON-RPC (X-Amz-Target) multi-tenant 30 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

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

CreateLogGroup CreateLogStream DeleteDestination DeleteLogGroup DeleteLogStream DeleteMetricFilter DeleteRetentionPolicy DeleteSubscriptionFilter DescribeDestinations DescribeLogGroups DescribeLogStreams DescribeMetricFilters DescribeSubscriptionFilters FilterLogEvents GetLogEvents GetQueryResults ListTagsForResource ListTagsLogGroup 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

See CloudFormation engine for intrinsic support and lifecycle details.

Known limitations

  • Retention policies are stored but log data is not automatically expired.
  • Subscription filters are stored but not triggered — destination services (Firehose/Lambda/Kinesis) receive no events.
  • ECS task logs and CodeBuild build logs are NOT piped into log groups (see their service pages).

Source

  • ministack/services/cloudwatch_logs.py:121-181

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