From 406b88777cc4f92d9404a1f75a55e6d4a0079229 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 4 Mar 2020 13:32:45 -0500 Subject: [PATCH] Add logging for DRF views --- netbox/utilities/api.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/netbox/utilities/api.py b/netbox/utilities/api.py index 57b87bccb..1b9424341 100644 --- a/netbox/utilities/api.py +++ b/netbox/utilities/api.py @@ -343,6 +343,26 @@ class ModelViewSet(_ModelViewSet): """ return super().retrieve(*args, **kwargs) + # + # Logging + # + + def perform_create(self, serializer): + model = serializer.child.Meta.model if hasattr(serializer, 'many') else serializer.Meta.model + logger = logging.getLogger('netbox.api.views.ModelViewSet') + logger.info(f"Creating new {model._meta.verbose_name}") + return super().perform_create(serializer) + + def perform_update(self, serializer): + logger = logging.getLogger('netbox.api.views.ModelViewSet') + logger.info(f"Updating {serializer.instance} (PK: {serializer.instance.pk})") + return super().perform_update(serializer) + + def perform_destroy(self, instance): + logger = logging.getLogger('netbox.api.views.ModelViewSet') + logger.info(f"Deleting {instance} (PK: {instance.pk})") + return super().perform_destroy(instance) + class FieldChoicesViewSet(ViewSet): """