plumthedev/laravel-cloudwatch-logger

Laravel Cloudwatch Logger is a Laravel package providing seamless integration with AWS CloudWatch for logging.

v1.0.0 2024-03-10 22:12 UTC

This package is auto-updated.

Last update: 2024-12-13 09:21:53 UTC


README

PHP Laravel PhpStorm

quality check tests coverage

Laravel Cloudwatch Logger is a Laravel package that provides integration with AWS CloudWatch for logging.

Installation

You can install the package via composer:

composer require plumthedev/laravel-cloudwatch-logger

Configuration

This package allows you to configure AWS CloudWatch logging settings either globally or per channel.

Global Configuration

If the logging.cloudwatch key is not present in your Laravel configuration, the package merges the following default configuration into the global logging configuration:

Channel Configuration

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.

Testing

To run tests, you need to build a Docker image first:

make build

Only then you can execute the tests:

make test

Contribution

If 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 build

Afterward, you can enter the console:

make run

Before submitting a pull request, ensure everything is in order:

make check

License

This project is licensed under the terms of the MIT license. See the LICENSE file for details.