diff --git a/config/logging.php b/config/logging.php index f12cfb9..0d19022 100644 --- a/config/logging.php +++ b/config/logging.php @@ -14,6 +14,7 @@ 'group_name' => env('CLOUDWATCH_LOG_GROUP_NAME', 'laravel_app'), 'version' => env('CLOUDWATCH_LOG_VERSION', 'latest'), 'batch_size' => env('CLOUDWATCH_LOG_BATCH_SIZE', 10000), + 'rps_limit' => env('CLOUDWATCH_LOG_RPS_LIMIT', 0), 'formatter' => function ($configs) { return new \Monolog\Formatter\LineFormatter( '%channel%: %level_name%: %message% %context% %extra%', diff --git a/src/Logger.php b/src/Logger.php index 69a64cc..29806e8 100644 --- a/src/Logger.php +++ b/src/Logger.php @@ -3,6 +3,7 @@ namespace Pagevamp; use Aws\CloudWatchLogs\CloudWatchLogsClient; +use Monolog\Level; use PhpNexus\Cwh\Handler\CloudWatch; use Monolog\Formatter\LineFormatter; use Pagevamp\Exceptions\IncompleteCloudWatchConfig; @@ -30,8 +31,21 @@ public function __invoke(array $config) $retentionDays = $loggingConfig['retention']; $groupName = $loggingConfig['group_name']; $batchSize = isset($loggingConfig['batch_size']) ? $loggingConfig['batch_size'] : 10000; - - $logHandler = new CloudWatch($cwClient, $groupName, $streamName, $retentionDays, $batchSize); + $rpsLimit = isset($loggingConfig['rps_limit']) ? $loggingConfig['rps_limit'] : 0; + + $logHandler = new CloudWatch( + $cwClient, + $groupName, + $streamName, + $retentionDays, + $batchSize, + [], + Level::Debug, + true, + true, + true, + $rpsLimit + ); $logger = new \Monolog\Logger($loggingConfig['name']); $formatter = $this->resolveFormatter($loggingConfig);