File size: 673 Bytes
4f52ef2 d6c2517 2257645 d6c2517 ae065d3 d6c2517 2257645 d6c2517 2257645 d6c2517 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import streamlit as st
from io import StringIO
import contextlib
import sys
# Redirect stdout and stderr
original_stdout = sys.stdout
original_stderr = sys.stderr
sys.stdout = StringIO()
sys.stderr = StringIO()
@st.cache
def capture_logs(func):
with contextlib.redirect_stdout(sys.stdout), contextlib.redirect_stderr(sys.stderr):
func()
# Get captured log messages
def get_captured_logs():
captured_stdout = sys.stdout.getvalue()
captured_stderr = sys.stderr.getvalue()
return captured_stdout, captured_stderr
# Restore original stdout and stderr
def restore_original_streams():
sys.stdout = original_stdout
sys.stderr = original_stderr
|