This library provides you with a simplified interface to log data to AWS CloudWatch.
- PHP >= 5.5.0
Required PHP extensions are marked by composer
The library can be installed using composer.
composer require legalthings/cloudwatch-logger-php
use LegalThings/CloudWatchLogger;
$config = [
'aws' => [
'version' => 'latest',
'region' => 'eu-west-1',
'credentials' => [
'key' => 'my_key',
'secret' => 'my_secret'
]
],
'group_name' => 'group_name',
'stream_name' => 'stream_name'
];
$logger = new CloudWatchLogger($config);
$logger->log(['hello' => 'world']);
/*
outputs within the group 'group_name' and instance 'stream_name' on CloudWatch:
{
"hello": "world"
}
*/
[
// required
'aws' => [
// required
'version' => 'latest',
// required
'region' => 'eu-west-1',
// optional, credentials may be omitted if using aws environment variables or roles
'credentials' => [
'key' => 'my_key',
'secret' => 'my_secret'
]
],
// required
'group_name' => 'group_name',
// required
'stream_name' => 'stream_name',
// optional
'options' => [
// defaults to infinite
'retention_days' => 7,
// retry logging when receiving error (invalid token sequence exception), defaults to 5
'error_max_retry' => 3,
// delay to wait for before retrying logging in microseconds, defaults to 100000 microseconds (0.1 seconds)
'error_retry_delay' => 0,
// true if events are already aws-cloudwatch encoding array of objects [['message' => json_encode($obj), 'timestamp' => time() * 1000] , ...]
'already_encoded_events' => false
]
]