CloudWatchLogs client

This page contains examples with the CloudWatchLogs client. See the client introduction for a more detailed description how to use a client. You may also want to consider the authentication documentation to understand the many ways you can authenticate with AWS.

The CloudWatchLogs package could be installed with Composer.

composer require async-aws/cloud-watch-logs

A new client object may be instantiated by:

use AsyncAws\CloudWatchLogs\CloudWatchLogsClient; $cloudWatchLogs = new CloudWatchLogsClient();

The authentication parameters is read from the environment by default. You can also specify a AWS access id and secret:

use AsyncAws\CloudWatchLogs\CloudWatchLogsClient; $cloudWatchLogs = new CloudWatchLogsClient([ 'accessKeyId' => 'my_access_key', 'accessKeySecret' => 'my_access_secret', 'region' => 'eu-central-1', ]);

For all available options, see the configuration reference.


List log streams

use AsyncAws\CloudWatchLogs\CloudWatchLogsClient; use AsyncAws\CloudWatchLogs\Input\DescribeLogStreamsRequest; $cloudWatchLogs = new CloudWatchLogsClient(); $result = $cloudWatchLogs->describeLogStreams(new DescribeLogStreamsRequest([ 'logGroupName' => 'company-website', ])); foreach ($result->getLogStreams() as $stream) { echo '-'.$stream->getLogStreamName().PHP_EOL; }

Push logs

use AsyncAws\CloudWatchLogs\CloudWatchLogsClient; use AsyncAws\CloudWatchLogs\Input\PutLogEventsRequest; use AsyncAws\CloudWatchLogs\ValueObject\InputLogEvent; $cloudWatchLogs = new CloudWatchLogsClient(); // sequenceToken is not required for a new stream $currentSequenceToken = null; $result = $cloudWatchLogs->putLogEvents(new PutLogEventsRequest([ 'logGroupName' => 'company-website', 'logStreamName' => 'frontend-api', 'logEvents' => [ new InputLogEvent([ 'timestamp' => date('U.u') * 1000, 'message' => 'an error occurred', ]), ], 'sequenceToken' => $currentSequenceToken, ])); $currentSequenceToken = $result->getNextSequenceToken();

The source code to this page is found on GitHub.