code: func (l *logStream) putLogEvents(events []*cloudwatchlogs.InputLogEvent, sequenceToken *string) (*string, error) {
  	input := &cloudwatchlogs.PutLogEventsInput{
  		LogEvents:     events,
  		SequenceToken: sequenceToken,
  		LogGroupName:  aws.String(l.logGroupName),
  		LogStreamName: aws.String(l.logStreamName),
  	}
  	resp, err := l.client.PutLogEvents(input)
  	if err != nil {
  		if awsErr, ok := err.(awserr.Error); ok {
  			logrus.WithFields(logrus.Fields{
  				"errorCode":     awsErr.Code(),
  				"message":       awsErr.Message(),
  				"origError":     awsErr.OrigErr(),
  				"logGroupName":  l.logGroupName,
  				"logStreamName": l.logStreamName,
  			}).Error("Failed to put log events")
  		}
  		return nil, err
  	}
  	return resp.NextSequenceToken, nil
  }
docs: // putLogEvents wraps the PutLogEvents API