From 47661fad5163dbc5eb38d1a4bea6f2fb6b8ac32a Mon Sep 17 00:00:00 2001 From: Rebeccah Date: Wed, 18 Mar 2020 16:03:21 -0400 Subject: [PATCH 1/2] added in summary fields into logging which will solve several issues related to needing more data in logging outputs --- awx/main/middleware.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/awx/main/middleware.py b/awx/main/middleware.py index 8382b81408..fc1e6913a2 100644 --- a/awx/main/middleware.py +++ b/awx/main/middleware.py @@ -101,14 +101,17 @@ class ActivityStreamMiddleware(threading.local, MiddlewareMixin): post_save.disconnect(dispatch_uid=self.disp_uid) for instance in ActivityStream.objects.filter(id__in=self.instance_ids): - if drf_user and drf_user.id: + if drf_user and drf_user.id: + from awx.api.serializers import ActivityStreamSerializer + ActStr = ActivityStreamSerializer(instance).to_representation(instance) + summary_fields = ActStr.get('summary_fields', {}) instance.actor = drf_user try: instance.save(update_fields=['actor']) analytics_logger.info('Activity Stream update entry for %s' % str(instance.object1), extra=dict(changes=instance.changes, relationship=instance.object_relationship_type, actor=drf_user.username, operation=instance.operation, - object1=instance.object1, object2=instance.object2)) + object1=instance.object1, object2=instance.object2, summary_fields=summary_fields)) except IntegrityError: logger.debug("Integrity Error saving Activity Stream instance for id : " + str(instance.id)) # else: From 5bfe89be6e6bb35c0f479b968dd8f58bcbd01951 Mon Sep 17 00:00:00 2001 From: Rebeccah Date: Mon, 23 Mar 2020 14:56:38 -0400 Subject: [PATCH 2/2] removed the to_representation and replaced with get_summary_fields per suggestion in PR comments --- awx/main/middleware.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/awx/main/middleware.py b/awx/main/middleware.py index fc1e6913a2..1cadc2fbbc 100644 --- a/awx/main/middleware.py +++ b/awx/main/middleware.py @@ -103,8 +103,7 @@ class ActivityStreamMiddleware(threading.local, MiddlewareMixin): for instance in ActivityStream.objects.filter(id__in=self.instance_ids): if drf_user and drf_user.id: from awx.api.serializers import ActivityStreamSerializer - ActStr = ActivityStreamSerializer(instance).to_representation(instance) - summary_fields = ActStr.get('summary_fields', {}) + summary_fields = ActivityStreamSerializer(instance).get_summary_fields(instance) instance.actor = drf_user try: instance.save(update_fields=['actor'])