fix: logs table - user_id is NULL (#14057)

* add user back to session

* add test for logging None on exceptions

* fix this updated test

* reformat

* reformat

* Update log.py
This commit is contained in:
Hugh A. Miles II
2021-04-13 10:08:34 -04:00
committed by GitHub
parent 8c5b6b1263
commit 4b23d0ecca
2 changed files with 49 additions and 2 deletions

View File

@@ -118,12 +118,23 @@ class AbstractEventLogger(ABC):
duration_ms = int(duration.total_seconds() * 1000) if duration else None
# Initial try and grab user_id via flask.g.user
try:
user_id = g.user.get_id()
except Exception as ex: # pylint: disable=broad-except
logging.warning(ex)
except Exception: # pylint: disable=broad-except
user_id = None
# Whenever a user is not bounded to a session we
# need to add them back before logging to capture user_id
if user_id is None:
try:
session = current_app.appbuilder.get_session
session.add(g.user)
user_id = g.user.get_id()
except Exception as ex: # pylint: disable=broad-except
logging.warning(ex)
user_id = None
payload = collect_request_payload()
if object_ref:
payload["object_ref"] = object_ref