Привет, ребята, я пытаюсь поставить Log на Amazon CloudWatchLogs, как это:
$response2 = $amzonLoger->putLogEvents([
'logGroupName' => 'myGroup',
'logStreamName' => 'myStream',
'logEvents' => [
[
'timestamp' => time(),
'message' => 'message'
],
],
'sequenceToken' => lastToken,
]);
var_dump($response2);
но всегда у меня есть этот ответ:
bject(Guzzle\Service\Resource\Model)#289 (2) { ["structure":protected]=> NULL ["data":protected]=> array(2) { ["nextSequenceToken"]=> string(56) "495401145812734324234234236420825819917076850" ["rejectedLogEventsInfo"]=> array(1) { ["tooOldLogEventEndIndex"]=> int(1) } } }
Можете ли вы помочь мне понять, что означает [«rejectedLogEventsInfo»] => array (1) {[«tooOldLogEventEndIndex»] => int (1), я буду очень благодарен за помощь.
Ваша ошибка говорит о том, что используемая вами временная метка не подходит.
http://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html
Из документа:
Ни одно из событий журнала в пакете не может быть более 2 часов в
будущее.
Ни одно из событий журнала в пакете не может быть старше 14 дней
или срок хранения группы журналов.
Если вы используете текущее время и текущее время правильно, вы можете находиться в другом часовом поясе (то есть более чем на 2 часа раньше UTC). Используйте время UTC для отметки времени событий.
хорошо, ребята, я нашел решение, добавив эту строку вместо time()
функция php. следуя этому пример cloudWatchLogs.
'timestamp' => round(microtime(true) * 1000),
Я надеюсь, что это может помочь кому-то в будущем, спасибо.