AWS.Logs

Amazon CloudWatch Logs API Reference

This is the Amazon CloudWatch Logs API Reference. Amazon CloudWatch Logs enables you to monitor, store, and access your system, application, and custom log files. This guide provides detailed information about Amazon CloudWatch Logs actions, data types, parameters, and errors. For detailed information about Amazon CloudWatch Logs features and their associated API calls, go to the Amazon CloudWatch Developer Guide.

Use the following links to get started using the Amazon CloudWatch Logs API Reference:

In addition to using the Amazon CloudWatch Logs API, you can also use the following SDKs and third-party libraries to access Amazon CloudWatch Logs programmatically.

Developers in the AWS developer community also provide their own libraries, which you can find at the following AWS developer centers:

Summary

create_log_group(client, input, options \\ [])

Creates a new log group with the specified name. The name of the log group must be unique within a region for an AWS account. You can create up to 500 log groups per account

create_log_stream(client, input, options \\ [])

Creates a new log stream in the specified log group. The name of the log stream must be unique within the log group. There is no limit on the number of log streams that can exist in a log group

delete_log_group(client, input, options \\ [])

Deletes the log group with the specified name and permanently deletes all the archived log events associated with it

delete_log_stream(client, input, options \\ [])

Deletes a log stream and permanently deletes all the archived log events associated with it

delete_metric_filter(client, input, options \\ [])

Deletes a metric filter associated with the specified log group

delete_retention_policy(client, input, options \\ [])

Deletes the retention policy of the specified log group. Log events would not expire if they belong to log groups without a retention policy

delete_subscription_filter(client, input, options \\ [])

Deletes a subscription filter associated with the specified log group

describe_log_groups(client, input, options \\ [])

Returns all the log groups that are associated with the AWS account making the request. The list returned in the response is ASCII-sorted by log group name

describe_log_streams(client, input, options \\ [])

Returns all the log streams that are associated with the specified log group. The list returned in the response is ASCII-sorted by log stream name

describe_metric_filters(client, input, options \\ [])

Returns all the metrics filters associated with the specified log group. The list returned in the response is ASCII-sorted by filter name

describe_subscription_filters(client, input, options \\ [])

Returns all the subscription filters associated with the specified log group. The list returned in the response is ASCII-sorted by filter name

filter_log_events(client, input, options \\ [])

Retrieves log events, optionally filtered by a filter pattern from the specified log group. You can provide an optional time range to filter the results on the event timestamp. You can limit the streams searched to an explicit list of <code class="code">logStreamNames

get_log_events(client, input, options \\ [])

Retrieves log events from the specified log stream. You can provide an optional time range to filter the results on the event timestamp`

put_log_events(client, input, options \\ [])

Uploads a batch of log events to the specified log stream

put_metric_filter(client, input, options \\ [])

Creates or updates a metric filter and associates it with the specified log group. Metric filters allow you to configure rules to extract metric data from log events ingested through PutLogEvents` requests

put_retention_policy(client, input, options \\ [])

Sets the retention of the specified log group. A retention policy allows you to configure the number of days you want to retain log events in the specified log group

put_subscription_filter(client, input, options \\ [])

Creates or updates a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events ingested through PutLogEvents` requests and have them delivered to a specific destination. Currently the only supported destination is an Amazon Kinesis stream belonging to the same account as the subscription filter

test_metric_filter(client, input, options \\ [])

Tests the filter pattern of a metric filter against a sample of log event messages. You can use this operation to validate the correctness of a metric filter pattern

Functions

create_log_group(client, input, options \\ [])

Creates a new log group with the specified name. The name of the log group must be unique within a region for an AWS account. You can create up to 500 log groups per account.

You must use the following guidelines when naming a log group:
  • Log group names can be between 1 and 512 characters long.
  • Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).
create_log_stream(client, input, options \\ [])

Creates a new log stream in the specified log group. The name of the log stream must be unique within the log group. There is no limit on the number of log streams that can exist in a log group.

You must use the following guidelines when naming a log stream:
  • Log stream names can be between 1 and 512 characters long.
  • The ':' colon character is not allowed.
delete_log_group(client, input, options \\ [])

Deletes the log group with the specified name and permanently deletes all the archived log events associated with it.

delete_log_stream(client, input, options \\ [])

Deletes a log stream and permanently deletes all the archived log events associated with it.

delete_metric_filter(client, input, options \\ [])

Deletes a metric filter associated with the specified log group.

delete_retention_policy(client, input, options \\ [])

Deletes the retention policy of the specified log group. Log events would not expire if they belong to log groups without a retention policy.

delete_subscription_filter(client, input, options \\ [])

Deletes a subscription filter associated with the specified log group.

describe_log_groups(client, input, options \\ [])

Returns all the log groups that are associated with the AWS account making the request. The list returned in the response is ASCII-sorted by log group name.

By default, this operation returns up to 50 log groups. If there are more log groups to list, the response would contain a nextTokenvalue in the response body. You can also limit the number of log groups returned in the response by specifying the <code class="code">limit parameter in the request.

describe_log_streams(client, input, options \\ [])

Returns all the log streams that are associated with the specified log group. The list returned in the response is ASCII-sorted by log stream name.

By default, this operation returns up to 50 log streams. If there are more log streams to list, the response would contain a nextTokenvalue in the response body. You can also limit the number of log streams returned in the response by specifying the <code class="code">limit parameter in the request. This operation has a limit of five transactions per second, after which transactions are throttled.

describe_metric_filters(client, input, options \\ [])

Returns all the metrics filters associated with the specified log group. The list returned in the response is ASCII-sorted by filter name.

By default, this operation returns up to 50 metric filters. If there are more metric filters to list, the response would contain a nextTokenvalue in the response body. You can also limit the number of metric filters returned in the response by specifying the <code class="code">limit parameter in the request.

describe_subscription_filters(client, input, options \\ [])

Returns all the subscription filters associated with the specified log group. The list returned in the response is ASCII-sorted by filter name.

By default, this operation returns up to 50 subscription filters. If there are more subscription filters to list, the response would contain a nextTokenvalue in the response body. You can also limit the number of subscription filters returned in the response by specifying the <code class="code">limit parameter in the request.

filter_log_events(client, input, options \\ [])

Retrieves log events, optionally filtered by a filter pattern from the specified log group. You can provide an optional time range to filter the results on the event timestamp. You can limit the streams searched to an explicit list of <code class="code">logStreamNames.

By default, this operation returns as much matching log events as can fit in a response size of 1MB, up to 10,000 log events, or all the events found within a time-bounded scan window. If the response includes a nextToken, then there is more data to search, and the search can be resumed with a new request providing the nextToken. The response will contain a list of <code class="code">searchedLogStreams that contains information about which streams were searched in the request and whether they have been searched completely or require further pagination. The limit` parameter in the request. can be used to specify the maximum number of events to return in a page.

get_log_events(client, input, options \\ [])

Retrieves log events from the specified log stream. You can provide an optional time range to filter the results on the event timestamp`.

By default, this operation returns as much log events as can fit in a response size of 1MB, up to 10,000 log events. The response will always include a nextForwardTokenand a <code class="code">nextBackwardToken in the response body. You can use any of these tokens in subsequent GetLogEventsrequests to paginate through events in either forward or backward direction. You can also limit the number of log events returned in the response by specifying the <code class="code">limit parameter in the request.

put_log_events(client, input, options \\ [])

Uploads a batch of log events to the specified log stream.

Every PutLogEvents request must include the sequenceTokenobtained from the response of the previous request. An upload in a newly created log stream does not require a <code class="code">sequenceToken.

The batch of events must satisfy the following constraints:
  • The maximum batch size is 1,048,576 bytes, and this size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.
  • None of the log events in the batch can be more than 2 hours in the future.
  • None of the log events in the batch can be older than 14 days or the retention period of the log group.
  • The log events in the batch must be in chronological ordered by their timestamp`.
  • The maximum number of log events in a batch is 10,000.
put_metric_filter(client, input, options \\ [])

Creates or updates a metric filter and associates it with the specified log group. Metric filters allow you to configure rules to extract metric data from log events ingested through PutLogEvents` requests.

The maximum number of metric filters that can be associated with a log group is 100.

put_retention_policy(client, input, options \\ [])

Sets the retention of the specified log group. A retention policy allows you to configure the number of days you want to retain log events in the specified log group.

put_subscription_filter(client, input, options \\ [])

Creates or updates a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events ingested through PutLogEvents` requests and have them delivered to a specific destination. Currently the only supported destination is an Amazon Kinesis stream belonging to the same account as the subscription filter.

Currently there can only be one subscription filter associated with a log group.

test_metric_filter(client, input, options \\ [])

Tests the filter pattern of a metric filter against a sample of log event messages. You can use this operation to validate the correctness of a metric filter pattern.