AWS SDK Version 2 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

.NET Framework 4.5
 
Implementation for accessing CloudWatchLogs Amazon CloudWatch Logs API Reference

You can use Amazon CloudWatch Logs to monitor, store, and access your log files from Amazon Elastic Compute Cloud (Amazon EC2) instances, Amazon CloudTrail, or other sources. You can then retrieve the associated log data from CloudWatch Logs using the Amazon CloudWatch console, the CloudWatch Logs commands in the AWS CLI, the CloudWatch Logs API, or the CloudWatch Logs SDK.

You can use CloudWatch Logs to:

Inheritance Hierarchy

System.Object
  Amazon.Runtime.AmazonServiceClient
    Amazon.CloudWatchLogs.AmazonCloudWatchLogsClient

Namespace: Amazon.CloudWatchLogs
Assembly: AWSSDK.dll
Version: (assembly version)

Syntax

C#
public class AmazonCloudWatchLogsClient : AmazonServiceClient
         IAmazonCloudWatchLogs, IDisposable

The AmazonCloudWatchLogsClient type exposes the following members

Constructors

NameDescription
Public Method AmazonCloudWatchLogsClient() Constructs AmazonCloudWatchLogsClient with the credentials loaded from the application's default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. Example App.config with credentials set.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="AWSProfileName" value="AWS Default"/>
    </appSettings>
</configuration>
             
Public Method AmazonCloudWatchLogsClient(RegionEndpoint) Constructs AmazonCloudWatchLogsClient with the credentials loaded from the application's default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. Example App.config with credentials set.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="AWSProfileName" value="AWS Default"/>
    </appSettings>
</configuration>
             
Public Method AmazonCloudWatchLogsClient(AmazonCloudWatchLogsConfig) Constructs AmazonCloudWatchLogsClient with the credentials loaded from the application's default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. Example App.config with credentials set.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="AWSProfileName" value="AWS Default"/>
    </appSettings>
</configuration>
             
Public Method AmazonCloudWatchLogsClient(AWSCredentials) Constructs AmazonCloudWatchLogsClient with AWS Credentials
Public Method AmazonCloudWatchLogsClient(AWSCredentials, RegionEndpoint) Constructs AmazonCloudWatchLogsClient with AWS Credentials
Public Method AmazonCloudWatchLogsClient(AWSCredentials, AmazonCloudWatchLogsConfig) Constructs AmazonCloudWatchLogsClient with AWS Credentials and an AmazonCloudWatchLogsClient Configuration object.
Public Method AmazonCloudWatchLogsClient(string, string) Constructs AmazonCloudWatchLogsClient with AWS Access Key ID and AWS Secret Key
Public Method AmazonCloudWatchLogsClient(string, string, RegionEndpoint) Constructs AmazonCloudWatchLogsClient with AWS Access Key ID and AWS Secret Key
Public Method AmazonCloudWatchLogsClient(string, string, AmazonCloudWatchLogsConfig) Constructs AmazonCloudWatchLogsClient with AWS Access Key ID, AWS Secret Key and an AmazonCloudWatchLogsClient Configuration object.
Public Method AmazonCloudWatchLogsClient(string, string, string) Constructs AmazonCloudWatchLogsClient with AWS Access Key ID and AWS Secret Key
Public Method AmazonCloudWatchLogsClient(string, string, string, RegionEndpoint) Constructs AmazonCloudWatchLogsClient with AWS Access Key ID and AWS Secret Key
Public Method AmazonCloudWatchLogsClient(string, string, string, AmazonCloudWatchLogsConfig) Constructs AmazonCloudWatchLogsClient with AWS Access Key ID, AWS Secret Key and an AmazonCloudWatchLogsClient Configuration object.

Methods

NameDescription
Public Method CancelExportTask(CancelExportTaskRequest) Cancels an export task if it is in PENDING or RUNNING state.
Public Method CancelExportTaskAsync(CancelExportTaskRequest, CancellationToken) Initiates the asynchronous execution of the CancelExportTask operation.
Public Method CreateExportTask(CreateExportTaskRequest) Creates an ExportTask which allows you to efficiently export data from a Log Group to your Amazon S3 bucket.

This is an asynchronous call. If all the required information is provided, this API will initiate an export task and respond with the task Id. Once started, DescribeExportTasks can be used to get the status of an export task. You can only have one active (RUNNING or PENDING) export task at a time, per account.

You can export logs from multiple log groups or multiple time ranges to the same Amazon S3 bucket. To separate out log data for each export task, you can specify a prefix that will be used as the Amazon S3 key prefix for all exported objects.

Public Method CreateExportTaskAsync(CreateExportTaskRequest, CancellationToken) Initiates the asynchronous execution of the CreateExportTask operation.
Public Method CreateLogGroup(CreateLogGroupRequest) 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).

Public Method CreateLogGroupAsync(CreateLogGroupRequest, CancellationToken) Initiates the asynchronous execution of the CreateLogGroup operation.
Public Method CreateLogStream(CreateLogStreamRequest) 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.

Public Method CreateLogStreamAsync(CreateLogStreamRequest, CancellationToken) Initiates the asynchronous execution of the CreateLogStream operation.
Public Method DeleteDestination(DeleteDestinationRequest) Deletes the destination with the specified name and eventually disables all the subscription filters that publish to it. This will not delete the physical resource encapsulated by the destination.
Public Method DeleteDestinationAsync(DeleteDestinationRequest, CancellationToken) Initiates the asynchronous execution of the DeleteDestination operation.
Public Method DeleteLogGroup(DeleteLogGroupRequest) Deletes the log group with the specified name and permanently deletes all the archived log events associated with it.
Public Method DeleteLogGroupAsync(DeleteLogGroupRequest, CancellationToken) Initiates the asynchronous execution of the DeleteLogGroup operation.
Public Method DeleteLogStream(DeleteLogStreamRequest) Deletes a log stream and permanently deletes all the archived log events associated with it.
Public Method DeleteLogStreamAsync(DeleteLogStreamRequest, CancellationToken) Initiates the asynchronous execution of the DeleteLogStream operation.
Public Method DeleteMetricFilter(DeleteMetricFilterRequest) Deletes a metric filter associated with the specified log group.
Public Method DeleteMetricFilterAsync(DeleteMetricFilterRequest, CancellationToken) Initiates the asynchronous execution of the DeleteMetricFilter operation.
Public Method DeleteRetentionPolicy(DeleteRetentionPolicyRequest) Deletes the retention policy of the specified log group. Log events would not expire if they belong to log groups without a retention policy.
Public Method DeleteRetentionPolicyAsync(DeleteRetentionPolicyRequest, CancellationToken) Initiates the asynchronous execution of the DeleteRetentionPolicy operation.
Public Method DeleteSubscriptionFilter(DeleteSubscriptionFilterRequest) Deletes a subscription filter associated with the specified log group.
Public Method DeleteSubscriptionFilterAsync(DeleteSubscriptionFilterRequest, CancellationToken) Initiates the asynchronous execution of the DeleteSubscriptionFilter operation.
Public Method DescribeDestinations(DescribeDestinationsRequest) Returns all the destinations that are associated with the AWS account making the request. The list returned in the response is ASCII-sorted by destination name.

By default, this operation returns up to 50 destinations. If there are more destinations to list, the response would contain a nextToken value in the response body. You can also limit the number of destinations returned in the response by specifying the limit parameter in the request.

Public Method DescribeDestinationsAsync(DescribeDestinationsRequest, CancellationToken) Initiates the asynchronous execution of the DescribeDestinations operation.
Public Method DescribeExportTasks(DescribeExportTasksRequest) Returns all the export tasks that are associated with the AWS account making the request. The export tasks can be filtered based on TaskId or TaskStatus.

By default, this operation returns up to 50 export tasks that satisfy the specified filters. If there are more export tasks to list, the response would contain a nextToken value in the response body. You can also limit the number of export tasks returned in the response by specifying the limit parameter in the request.

Public Method DescribeExportTasksAsync(DescribeExportTasksRequest, CancellationToken) Initiates the asynchronous execution of the DescribeExportTasks operation.
Public Method DescribeLogGroups() 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 nextToken value in the response body. You can also limit the number of log groups returned in the response by specifying the limit parameter in the request.

Public Method DescribeLogGroups(DescribeLogGroupsRequest) 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 nextToken value in the response body. You can also limit the number of log groups returned in the response by specifying the limit parameter in the request.

Public Method DescribeLogGroupsAsync(DescribeLogGroupsRequest, CancellationToken) Initiates the asynchronous execution of the DescribeLogGroups operation.
Public Method DescribeLogStreams(DescribeLogStreamsRequest) 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 nextToken value in the response body. You can also limit the number of log streams returned in the response by specifying the limit parameter in the request. This operation has a limit of five transactions per second, after which transactions are throttled.

Public Method DescribeLogStreamsAsync(DescribeLogStreamsRequest, CancellationToken) Initiates the asynchronous execution of the DescribeLogStreams operation.
Public Method DescribeMetricFilters(DescribeMetricFiltersRequest) 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 nextToken value in the response body. You can also limit the number of metric filters returned in the response by specifying the limit parameter in the request.

Public Method DescribeMetricFiltersAsync(DescribeMetricFiltersRequest, CancellationToken) Initiates the asynchronous execution of the DescribeMetricFilters operation.
Public Method DescribeSubscriptionFilters(DescribeSubscriptionFiltersRequest) 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 nextToken value in the response body. You can also limit the number of subscription filters returned in the response by specifying the limit parameter in the request.

Public Method DescribeSubscriptionFiltersAsync(DescribeSubscriptionFiltersRequest, CancellationToken) Initiates the asynchronous execution of the DescribeSubscriptionFilters operation.
Public Method Dispose() Inherited from Amazon.Runtime.AmazonServiceClient.
Public Method FilterLogEvents(FilterLogEventsRequest) 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 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 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.

Public Method FilterLogEventsAsync(FilterLogEventsRequest, CancellationToken) Initiates the asynchronous execution of the FilterLogEvents operation.
Public Method GetLogEvents(GetLogEventsRequest) 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 nextForwardToken and a nextBackwardToken in the response body. You can use any of these tokens in subsequent GetLogEvents requests 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 limit parameter in the request.

Public Method GetLogEventsAsync(GetLogEventsRequest, CancellationToken) Initiates the asynchronous execution of the GetLogEvents operation.
Public Method PutDestination(PutDestinationRequest) Creates or updates a Destination. A destination encapsulates a physical resource (such as a Kinesis stream) and allows you to subscribe to a real-time stream of log events of a different account, ingested through PutLogEvents requests. Currently, the only supported physical resource is a Amazon Kinesis stream belonging to the same account as the destination.

A destination controls what is written to its Amazon Kinesis stream through an access policy. By default, PutDestination does not set any access policy with the destination, which means a cross-account user will not be able to call PutSubscriptionFilter against this destination. To enable that, the destination owner must call PutDestinationPolicy after PutDestination.

Public Method PutDestinationAsync(PutDestinationRequest, CancellationToken) Initiates the asynchronous execution of the PutDestination operation.
Public Method PutDestinationPolicy(PutDestinationPolicyRequest) Creates or updates an access policy associated with an existing Destination. An access policy is an IAM policy document that is used to authorize claims to register a subscription filter against a given destination.
Public Method PutDestinationPolicyAsync(PutDestinationPolicyRequest, CancellationToken) Initiates the asynchronous execution of the PutDestinationPolicy operation.
Public Method PutLogEvents(PutLogEventsRequest) Uploads a batch of log events to the specified log stream.

Every PutLogEvents request must include the sequenceToken obtained from the response of the previous request. An upload in a newly created log stream does not require a 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.
  • A batch of log events in a single PutLogEvents request cannot span more than 24 hours. Otherwise, the PutLogEvents operation will fail.

Public Method PutLogEventsAsync(PutLogEventsRequest, CancellationToken) Initiates the asynchronous execution of the PutLogEvents operation.
Public Method PutMetricFilter(PutMetricFilterRequest) 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.

Public Method PutMetricFilterAsync(PutMetricFilterRequest, CancellationToken) Initiates the asynchronous execution of the PutMetricFilter operation.
Public Method PutRetentionPolicy(PutRetentionPolicyRequest) 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.
Public Method PutRetentionPolicyAsync(PutRetentionPolicyRequest, CancellationToken) Initiates the asynchronous execution of the PutRetentionPolicy operation.
Public Method PutSubscriptionFilter(PutSubscriptionFilterRequest) 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 supported destinations are:
  • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.
  • A logical destination (used via an ARN of Destination) belonging to a different account, for cross-account delivery.
  • An Amazon Kinesis Firehose stream belonging to the same account as the subscription filter, for same-account delivery.
  • An AWS Lambda function belonging to the same account as the subscription filter, for same-account delivery.

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

Public Method PutSubscriptionFilterAsync(PutSubscriptionFilterRequest, CancellationToken) Initiates the asynchronous execution of the PutSubscriptionFilter operation.
Public Method TestMetricFilter(TestMetricFilterRequest) 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.
Public Method TestMetricFilterAsync(TestMetricFilterRequest, CancellationToken) Initiates the asynchronous execution of the TestMetricFilter operation.

Events

NameDescription
Event AfterResponseEvent Inherited from Amazon.Runtime.AmazonServiceClient.
Event BeforeRequestEvent Inherited from Amazon.Runtime.AmazonServiceClient.
Event ExceptionEvent Inherited from Amazon.Runtime.AmazonServiceClient.

Version Information

.NET Framework:
Supported in: 4.5, 4.0, 3.5