Skip to content

Instantly share code, notes, and snippets.

@kenzo0107
Last active February 10, 2020 02:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenzo0107/1f8482e788f578110d049f7db040a465 to your computer and use it in GitHub Desktop.
Save kenzo0107/1f8482e788f578110d049f7db040a465 to your computer and use it in GitHub Desktop.
put message to CloudWatch Logs
#!/bin/bash
# region
export AWS_DEFAULT_REGION=ap-northeast-1
# CloudWatchLogs settings
LogGroupName="Test"
LogStreamName="App1"
# message put to CloudWatchLogs
Mess=$1
# remove "'"
Mess=`echo $Mess | sed -e "s/'//g"`
# token for put-log-event
UploadSequenceToken=$(aws logs describe-log-streams --log-group-name "$LogGroupName" --query 'logStreams[?logStreamName==`'$LogStreamName'`].[uploadSequenceToken]' --output text)
# timestamp for put-log-event
TimeStamp=`date "+%s%N" --utc`
TimeStamp=`expr $TimeStamp / 1000000`
# execute put-log-events
if [ "$UploadSequenceToken" != "" ]
then
# token exists
aws logs put-log-events --log-group-name "$LogGroupName" --log-stream-name "$LogStreamName" --log-events timestamp=$TimeStamp,message="$Mess" --sequence-token $UploadSequenceToken
else
# no token exists
aws logs put-log-events --log-group-name "$LogGroupName" --log-stream-name "$LogStreamName" --log-events timestamp=$TimeStamp,message="$Mess"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment