log_filters: get user and ip from record if present (#35302)
This commit is contained in:
parent
e9897ce3a2
commit
0f17a56202
|
@ -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
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue