Laravel Cloudwatch Logger is a Laravel package that provides integration with AWS CloudWatch for logging.
You can install the package via composer:
composer require plumthedev/laravel-cloudwatch-loggerThis package allows you to configure AWS CloudWatch logging settings either globally or per channel.
If the logging.cloudwatch key is not present in your Laravel configuration,
the package merges the following default configuration into the global logging configuration:
| Configuration Key | Description | Env Name | Default Value |
|---|---|---|---|
| logging.cloudwatch.name | Name of the CloudWatch log channel | CLOUDWATCH_LOGGER_NAME | Laravel Cloudwatch Logger |
| logging.cloudwatch.region | AWS region for CloudWatch logging | CLOUDWATCH_LOGGER_REGION | eu-central-1 |
| logging.cloudwatch.version | AWS SDK version | CLOUDWATCH_LOGGER_VERSION | latest |
| logging.cloudwatch.credentials.key | AWS access key for authentication | CLOUDWATCH_LOGGER_CREDENTIALS_KEY | |
| logging.cloudwatch.credentials.secret | AWS secret key for authentication | CLOUDWATCH_LOGGER_CREDENTIALS_SECRET | |
| logging.cloudwatch.group_name | Default log group name | CLOUDWATCH_LOGGER_GROUP_NAME | Your App Name |
| logging.cloudwatch.stream_name | Default log stream name | CLOUDWATCH_LOGGER_STREAM_NAME | Your App Name |
| logging.cloudwatch.retention_days | Number of days to retain log events | CLOUDWATCH_LOGGER_RETENTION_DAYS | 14 |
| logging.cloudwatch.batch_size | Maximum number of log events to send in one batch | CLOUDWATCH_LOGGER_BATCH_SIZE | 25 |
You can also override or specify additional configuration options for specific logging channels. For example:
// config/logging.php
'channels' => [
...
'cloudwatch' => [
'driver' => 'cloudwatch',
'group_name' => 'api_v1',
'stream' => 'V1 Payments Logger',
],
],
'cloudwatch' => [
'name' => 'Laravel App',
'group_name' => 'api',
'stream' => 'component',
'credentials' => [
'key' => '...',
'secret' => '...',
],
],In the channel configuration, you can define specific settings such as the log group name (group_name) and log stream name (stream_name).
These settings will override the corresponding global configuration values for the CloudWatch logging driver.
While credentials will keep the same.
To run tests, you need to build a Docker image first:
make buildOnly then you can execute the tests:
make testIf you spot areas for improvement, wish to make enhancements, or have ideas for further development, feel free to contribute to this project.
To access the project terminal, you must first build the Docker image:
make buildAfterward, you can enter the console:
make runBefore submitting a pull request, ensure everything is in order:
make checkThis project is licensed under the terms of the MIT license. See the LICENSE file for details.