From d91ec6e334cc4eddebcba200ed473943c8ac53b4 Mon Sep 17 00:00:00 2001 From: Jacob Smits Date: Thu, 5 Jan 2023 17:35:47 -0600 Subject: [PATCH 1/4] Update readme.md --- readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/readme.md b/readme.md index a2ad518..0984ba4 100644 --- a/readme.md +++ b/readme.md @@ -51,6 +51,10 @@ And set the `LOG_CHANNEL` in your environment variable to `cloudwatch`. If the role of your AWS EC2 instance has access to Cloudwatch logs, `CLOUDWATCH_LOG_KEY` and `CLOUDWATCH_LOG_SECRET` need not be defined in your `.env` file. +### AWS IAM permissions + +The needed permissions can be found [here](https://github.com/maxbanton/cwh#aws-iam-needed-permissions). + ### Contribution I have added a `pre-commit` hook to run `php-cs-fixer` whenever you make a commit. To enable this run `sh hooks.sh`. From bbd680ea723eaab894e72e2e42fd5068467bcab4 Mon Sep 17 00:00:00 2001 From: "j.smits" Date: Thu, 5 Jan 2023 18:22:36 -0600 Subject: [PATCH 2/4] Add create_group config option, pass through to underlying logger --- src/Logger.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Logger.php b/src/Logger.php index f1dcd9f..6bbcb4a 100644 --- a/src/Logger.php +++ b/src/Logger.php @@ -2,6 +2,7 @@ namespace Pagevamp; +use Monolog\Logger as MonoLogger; use Aws\CloudWatchLogs\CloudWatchLogsClient; use Maxbanton\Cwh\Handler\CloudWatch; use Monolog\Formatter\LineFormatter; @@ -29,9 +30,10 @@ public function __invoke(array $config) $streamName = $loggingConfig['stream_name']; $retentionDays = $loggingConfig['retention']; $groupName = $loggingConfig['group_name']; + $createGroup = $loggingConfig['create_group']; $batchSize = isset($loggingConfig['batch_size']) ? $loggingConfig['batch_size'] : 10000; - $logHandler = new CloudWatch($cwClient, $groupName, $streamName, $retentionDays, $batchSize); + $logHandler = new CloudWatch($cwClient, $groupName, $streamName, $retentionDays, $batchSize, [], MonoLogger::DEBUG, true, $createGroup); $logger = new \Monolog\Logger($loggingConfig['name']); $formatter = $this->resolveFormatter($loggingConfig); From 0e905e0ea07140516434ef3fcc682b0c0b039970 Mon Sep 17 00:00:00 2001 From: "j.smits" Date: Thu, 5 Jan 2023 18:24:50 -0600 Subject: [PATCH 3/4] Update readme with new opt --- readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 0984ba4..7211d88 100644 --- a/readme.md +++ b/readme.md @@ -41,7 +41,8 @@ Config for logging is defined at `config/logging.php`. Add `cloudwatch` to the ` 'group_name' => env('CLOUDWATCH_LOG_GROUP_NAME', 'laravel_app'), 'version' => env('CLOUDWATCH_LOG_VERSION', 'latest'), 'formatter' => \Monolog\Formatter\JsonFormatter::class, - 'batch_size' => env('CLOUDWATCH_LOG_BATCH_SIZE', 10000), + 'batch_size' => env('CLOUDWATCH_LOG_BATCH_SIZE', 10000), + 'create_group' => env('CLOUDWATCH_CREATE_GROUP', true) 'via' => \Pagevamp\Logger::class, ], ] From 06dac95694959e2c6eac701b3cce740bf7e51046 Mon Sep 17 00:00:00 2001 From: Jacob Smits Date: Thu, 21 Sep 2023 11:41:16 -0500 Subject: [PATCH 4/4] Made create_group optional --- src/Logger.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Logger.php b/src/Logger.php index 0c1347f..2eb29d1 100644 --- a/src/Logger.php +++ b/src/Logger.php @@ -30,7 +30,7 @@ public function __invoke(array $config) $streamName = $loggingConfig['stream_name']; $retentionDays = $loggingConfig['retention']; $groupName = $loggingConfig['group_name']; - $createGroup = $loggingConfig['create_group']; + $createGroup = isset($loggingConfig['create_group']) ? $loggingConfig['create_group'] : true; $batchSize = isset($loggingConfig['batch_size']) ? $loggingConfig['batch_size'] : 10000; $logHandler = new CloudWatch($cwClient, $groupName, $streamName, $retentionDays, $batchSize, [], MonoLogger::DEBUG, true, $createGroup);