Reputation: 325
In order to comply with some requiremnt, imposed by internal software policies, I need to log user_name or user_id of actions performed on the frontend (UI), for instance
@catch_mlflow_exception
@_disable_if_artifacts_only
def _delete_experiment():
request_message = _get_request_message(
DeleteExperiment(), schema={"experiment_id": [_assert_required, _assert_string]}
)
experiment_id=request_message.experiment_id
experiment_name=request_message.experiment_name
# print(experiment_id)
# Log the experiment_id and username
logging.info(f"Deleting experiment with ID: {experiment_id} by user: {user_id}")
_get_tracking_store().delete_experiment(request_message.experiment_id)
response_message = DeleteExperiment.Response()
response = Response(mimetype="application/json")
response.set_data(message_to_json(response_message))
return response
How do i get the user_id?
Upvotes: 0
Views: 68
Reputation: 325
hope this can help somebody else
def _delete_experiment():
request_message = _get_request_message(
DeleteExperiment(), schema={"experiment_id": [_assert_required, _assert_string]}
)
experiment_id=request_message.experiment_id
# Extract username from the session
username = session.get('username')
if not username:
raise ValueError("Missing user_id in session")
# Fetch the experiment name from the tracking store
experiment = _get_tracking_store().get_experiment(request_message.experiment_id)
if not experiment:
raise ValueError(f"Experiment with ID {experiment_id} not found")
experiment_name = experiment.name
# Log the experiment_id and username
_logger.info(f"Deleting experiment '{experiment_name}' with ID: {experiment_id} by user: {username}")
_get_tracking_store().delete_experiment(request_message.experiment_id)
response_message = DeleteExperiment.Response()
response = Response(mimetype="application/json")
response.set_data(message_to_json(response_message))
return response
Upvotes: 0