diff --git a/optimizely/event/event_factory.py b/optimizely/event/event_factory.py index 355c3a25f..2489dc926 100644 --- a/optimizely/event/event_factory.py +++ b/optimizely/event/event_factory.py @@ -55,21 +55,20 @@ def create_log_event(cls, user_events, logger): if visitor: visitors.append(visitor) - user_context = event.event_context - - event_batch = payload.EventBatch( - user_context.account_id, - user_context.project_id, - user_context.revision, - user_context.client_name, - user_context.client_version, - user_context.anonymize_ip, - True - ) - if len(visitors) == 0: return None + user_context = user_events[0].event_context + event_batch = payload.EventBatch( + user_context.account_id, + user_context.project_id, + user_context.revision, + user_context.client_name, + user_context.client_version, + user_context.anonymize_ip, + True + ) + event_batch.visitors = visitors event_params = event_batch.get_event_params() diff --git a/optimizely/helpers/event_tag_utils.py b/optimizely/helpers/event_tag_utils.py index 3baf0406a..ab0d90e45 100644 --- a/optimizely/helpers/event_tag_utils.py +++ b/optimizely/helpers/event_tag_utils.py @@ -67,11 +67,15 @@ def get_numeric_value(event_tags, logger=None): numeric_metric_value = None if event_tags is None: - logger_message_debug = 'Event tags is undefined.' + if logger: + logger.log(enums.LogLevels.ERROR, 'Event tags is undefined.') + return elif not isinstance(event_tags, dict): - logger_message_debug = 'Event tags is not a dictionary.' + if logger: + logger.log(enums.LogLevels.ERROR, 'Event tags is not a dictionary.') + return elif NUMERIC_METRIC_TYPE not in event_tags: - logger_message_debug = 'The numeric metric key is not in event tags.' + return else: numeric_metric_value = event_tags[NUMERIC_METRIC_TYPE] try: