PHP code example of diephp / laravel-cloudwatch-logs
1. Go to this page and download the library: Download diephp/laravel-cloudwatch-logs library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
diephp / laravel-cloudwatch-logs example snippets
\Log::error('Service error', ['message' => 'Message details', 'user_id' => \Auth()?->user_id]);
\Log::debug("Check status", [
"status" => "ok",
"ver" => app()->version(),
"env" => env("APP_ENV"),
"api_url" => env("APP_URL"),
]);
'channels' => [
...
'cloudwatch' => [
'driver' => 'custom',
'via' => \DiePHP\LaravelCloudWatchLog\Logger::class,
'region' => env('AWS_REGION', 'eu-west-1'),
'credentials' => [
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
],
],
...
]
'channels' => [
...
'cloudwatch' => [
'driver' => 'custom',
'region' => env('AWS_REGION', 'eu-west-1'),
'credentials' => [
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
],
'stream_name' => env('CLOUDWATCH_LOG_STREAM', 'general'),
'retention' => env('CLOUDWATCH_LOG_RETENTION_DAYS', 31),
'group_name' => env('CLOUDWATCH_LOG_GROUP_NAME', env('AWS_SDK_LOG_GROUP_PREFIX', '')."general"),
'version' => env('CLOUDWATCH_LOG_VERSION', 'latest'),
'formatter' => \Monolog\Formatter\JsonFormatter::class,
'batch_size' => env('CLOUDWATCH_LOG_BATCH_SIZE', 10000), // max buffer size to send in one batch
'level' => env('LOG_LEVEL', 'debug'),
'createGroup' => true, // This is related to the AWS policy you choose.
'bubble' => true, // Whether the messages that are handled can bubble up the stack or not
'extra' => [
'env' => env('APP_ENV'),
'php' => PHP_VERSION,
'laravel' => app()->version(),
],
'tags' => ['tag1', 'tag2'],
'via' => \DiePHP\LaravelCloudWatchLog\Logger::class,
],
...
]