logger: prevent RequestContextFilter multiple execution (#29149)
This commit is contained in:
parent
050dbcb921
commit
8c664bc035
|
@ -90,6 +90,7 @@ LOGGING = {
|
|||
'address': '/dev/log',
|
||||
'class': 'logging.handlers.SysLogHandler',
|
||||
'formatter': 'syslog',
|
||||
'filters': ['request_context'],
|
||||
},
|
||||
'syslog_no_filter': {
|
||||
'level': 'INFO',
|
||||
|
@ -113,7 +114,7 @@ LOGGING = {
|
|||
'when': 'midnight',
|
||||
'backupCount': 1,
|
||||
'interval': 1,
|
||||
'filters': ['debug_log'],
|
||||
'filters': ['request_context', 'debug_log'],
|
||||
}
|
||||
},
|
||||
'loggers': {
|
||||
|
|
|
@ -52,6 +52,9 @@ class RequestContextFilter(logging.Filter):
|
|||
|
||||
Inspired by django-log-request-id
|
||||
'''
|
||||
# prevent multiple execution on the same record
|
||||
if getattr(record, 'request_context', False):
|
||||
return True
|
||||
|
||||
# lookup request from record then StoreRequestMiddleware
|
||||
if not hasattr(record, 'request'):
|
||||
|
@ -101,6 +104,7 @@ class RequestContextFilter(logging.Filter):
|
|||
record.user = record.user_email = user.email
|
||||
if getattr(user, 'username', None):
|
||||
record.user = record.user_name = user.username
|
||||
record.request_context = True
|
||||
return True
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue