while learning how use rest framework , authentication mechanisms, i'm looking way log accesses api views debugging purpose. inspired this question , errors came it, overloaded initial method , got this:
class itemviewset(viewsets.modelviewset): model = item queryset = item.objects.all() serializer_class = itemserializer permission_classes = [permissions.isauthenticated,] def initial(self, request, *args, **kwargs): log_data = { 'user': request.user.pk, 'remote_address': request.meta['remote_addr'], 'request_method': request.method, 'request_path': request.get_full_path(), 'request_body': request.data , 'request_query_params': request.query_params , 'request_auth': request.auth, } if not os.path.exists('log'): os.makedirs('log') open('log/logging.json', 'w') f: json.dump(log_data, f, sort_keys=true, indent=4) viewsets.modelviewset.initial(self, request, *args, **kwargs)
with this, indeed file created when run unit test making request on view or when access view browser. however, when make curl request, reaches view, gets response request not logged. wrong curl request? how can log info related request (headers, content...)?
thank helping.
Comments
Post a Comment