From 0f17a5620249c68775a5a8bea2c3e27fda95b8db Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Fri, 9 Aug 2019 12:14:26 +0200 Subject: [PATCH 1/4] log_filters: get user and ip from record if present (#35302) --- src/authentic2/log_filters.py | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/authentic2/log_filters.py b/src/authentic2/log_filters.py index b31b8a68..ce3c890d 100644 --- a/src/authentic2/log_filters.py +++ b/src/authentic2/log_filters.py @@ -29,18 +29,22 @@ class RequestContextFilter(logging.Filter): Inspired by django-log-request-id ''' from . import middleware - request = middleware.StoreRequestMiddleware.get_request() - user = self.DEFAULT_USERNAME - ip = self.DEFAULT_IP - request_id = self.DEFAULT_REQUEST_ID - if request is not None: + request = record.request = getattr(record, 'request', middleware.StoreRequestMiddleware.get_request()) + + if not hasattr(record, 'request_id'): + record.request_id = getattr(request, 'request_id', self.DEFAULT_REQUEST_ID) + + if not hasattr(record, 'ip'): + record.ip = self.DEFAULT_IP + if record.request: + record.ip = request.META.get('REMOTE_ADDR', self.DEFAULT_IP) + + if not hasattr(record, 'user'): if hasattr(request, 'user') and request.user.is_authenticated(): - user = six.text_type(request.user) - ip = request.META.get('REMOTE_ADDR', self.DEFAULT_IP) - request_id = request.request_id - record.user = user - record.ip = ip - record.request_id = request_id + record.user = six.text_type(request.user) + else: + record.user = self.DEFAULT_USERNAME + return True -- 2.23.0.rc1