Выдвиньте журналы laravel к aws cloudwatch не работают

Я пытаюсь протолкнуть свои журналы Laravel в Amazon CloudWatch, я следовал тому, что они сказали в следующей статье:
Регистрация приложений PHP с помощью Amazon CloudWatch Logs и Monolog

внутри самозагрузки / app.php Я добавил следующий код:

$app->configureMonologUsing(function($monolog){
try{
$options = [
'region' => env('AWS_REGION'),
'version' => 'latest',
'credentials' => [
'key' => env('AWS_KEY'),
'secret' => env('AWS_SECRET')
]
];

$cwClient = new CloudWatchLogsClient($options);
$cwGroupName = $logGroupName;
$cwStreamNameApp = $logStreamName;
$cwRetentionDays = 90;
$bubble = false;
$cwHandlerApp = new CloudWatch($cwClient, $cwGroupName, $cwStreamNameApp, $cwRetentionDays, 10000, [], Logger::INFO, $bubble);
$monolog->pushHandler($cwHandlerApp);
}catch(\Exception $e){
var_dump($e->getMessage());
}
});

Я также добавил тестовый маршрут который пишет информационный журнал:

Route::get('/test', function () {
Log::info('Clicking on test link!!!');
return view('test');
});

но ничего не происходит, он даже не записывает логи ни в файл laravel.logs, ни в Amazon CloudWatch.

Это работает, только когда я пытаюсь вручную записать новый журнал в Amazon CloudWatch с помощью следующего кода:

try {
$options = [
'region' => env('AWS_REGION'),
'version' => 'latest',
'credentials' => [
'key' => env('AWS_KEY'),
'secret' => env('AWS_SECRET')
]
];

$client = new CloudWatchLogsClient($options);
$result = $client->putLogEvents([
'logGroupName' => $logGroupName,
'logStreamName' => $logStreamName,
'logEvents' => [
[
'message' => 'This is a test 1',
'timestamp' => round(microtime(true) * 1000),
]
]
]);
} catch (\Aws\CloudWatchLogs\Exception\CloudWatchLogsException $e) {
echo $e->getAwsErrorCode() . "\n";
echo $e->getMessage() . "\n";
}

Моя среда Linux (Ubuntu), Работа с php5.6, Laravel-5.4

Спасибо!

——- ОБНОВИТЬ ——-

Вы можете найти ответ здесь:

https://stackoverflow.com/a/51790656/4832775

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …