I’m looking for a simple way to create logs specific to each user session.
I tried with python’s logging module:
Code snippet:
ss = st.session_state
if 'logger' not in ss:
# Setting up logger
ss.logger = logging.getLogger(__name__)
ss.log_stream = StringIO()
stream_handler = logging.StreamHandler(ss.log_stream)
ss.logger.addHandler(stream_handler)
...
#somewhere in the code:
ss.logger.info('some info')
...
The above works great. The problem is that it collects logs from all users who are using the app concurrently.
Thanks for sharing this question! Sorry for the super delayed reponse.
Just wanted to add that if this app is deployed on Streamlit Community Cloud and is a private app, you could use st.experimental_user to associate the logs for a specific user with the email address they’ve used to log into Community Cloud. The docs on this feature live here.